MVC3学习笔记(二)

一、输入框样式控制

在录入编辑界面,常用的方式如下:

@Html.EditorFor(model => model.PrivideTime)

但是这样就不能控制输入框属性。需要控制属性时就必须:

@Html.TextBox("PrivideTime", Model.PrivideTime.Value.ToShortDateString(), new { disabled = "disabled", @readonly = "readonly" })

其中也给出了以短日期格式显示的方法。

 

二、图片上传

上传图片可以采用如下方式:

@using (Html.BeginForm("About", "Home", FormMethod.Post, new { enctype = "multipart/form-data" }))

{

@Html.ValidationSummary(true)

<p>

<input name="file" type="file" id="file1" /><input type="submit" value="上传图片" />

</p>

}

红色字体是要注意的地方,必须要有。

这里还有一个问题:同一个页面中,原本有一个保存按钮,现在又有了一个上传图片按钮,两个都是submit,在Controller中是如何区分呢?

通过

Request.Files.Count == 0

或者

var file = Request.Files[0];
if (file.ContentLength == 0)

这样是不能区分出来的。在没有选中文件就点“上传图片”或者点“保存”,上面的两个判断结果是一样的。

我当时采用了一个并不是很好的方法:

去掉“上传图片”按钮,选择了文件之后立即触发submit,这样就避免了没有选中文件就点“上传图片”这种情况。

<input name="file" type="file" id="file1" onchange="this.form.submit()" />

到了后期之后,发现其实 有更好的办法,用一个hidden存放标志,controller中获取该标志,根据值的不同进行区分。具体方法我在后面解决打印时会讲。

posted @ 2012-10-28 11:37  左加明  Views(462)  Comments(0)    收藏  举报