今天简单介绍一下如何编写一个自定义的CheckBox:
<script type="text/javascript">
function unhide(id_name, check_box) {
var check = (check_box.checked) ? "block" : "none";
document.getElementById(id_name).style.display = check;
}
</script>
@Html.CheckBoxFor(model => model.NotifyEmail, new { @checked = "unchecked" , @onclick="unhide('hidden-input-email', this)"})Email Notification<br>
<div id="hidden-input-email" style="display:none">
<p>
@Html.LabelFor(model => model.Email)
@Html.TextBoxFor(model => model.Email, new { @readonly="readonly" })
</p>
<div class="editor-field">
@Html.TextAreaFor(model => model.EmailInfos, new { style = "width: 200px; height: 100px;" })
</div>
上面的View代码,使用了自定义的CheckBox
简单的说明一下:
- @Html.CheckBoxFor(model => model.NotifyEmail, new { @checked = "unchecked" , @onclick="unhide('hidden-input-email', this)"})Email Notification<br>
- 当我们点击这个CheckBox的时候会将隐藏的输入框显示出来,这里使用了一个简单的Javascript,当@onclick的事件被触发时。
- 同时这里使用@checked = "unchecked"设置初始为unchecked。
- 参数:model => model.NotifyEmail是我们对于checkbox的view model binding。
- 我们的TextAreaFor也通过参数:new { style = "width: 200px; height: 100px;" }自定义了大小。
ActionResult有很多种Subtypes,我今天才知道,以前只用过3种。
出处:http://forums.asp.net/t/1448398.aspx
ViewResult - Renders a specifed view to the response streamPartialViewResult - Renders a specifed partial view to the response stream
EmptyResult - An empty response is returned
RedirectResult - Performs an HTTP redirection to a specifed URL
RedirectToRouteResult - Performs an HTTP redirection to a URL that is determined by the routing engine, based on given route data
JsonResult - Serializes a given ViewData object to JSON format
JavaScriptResult - Returns a piece of JavaScript code that can be executed on the client
ContentResult - Writes content to the response stream without requiring a view
FileContentResult - Returns a file to the client
FileStreamResult - Returns a file to the client, which is provided by a Stream
FilePathResult - Returns a file to the client
没有评论:
发表评论