MVC 辅助方法的一些应用案例

Ajax.BeginForm 创建ajax提交的表单

<div id="addDiv">
@using (Ajax.BeginForm("AddUserInfo", "UserInfo", new{}, new AjaxOptions() { HttpMethod = "post", OnSuccess = "afterAdd", }, new { id = "addForm" }))
{
<table>
<tr><td>用户名</td><td><input type="text" name="UName" /></td></tr>
<tr><td>密码</td><td><input type="text" name="UPwd" /></td></tr>
<tr><td>备注</td><td><input type="text" name="Remark" /></td></tr>
<tr><td>排序</td><td><input type="text" name="Sort" /></td></tr>

</table>
}
</div>

说明:

AddUserInfo:Action

UserInfo:controller

new{}:路由参数

new AjaxOptions() { HttpMethod = "post", OnSuccess = "afterAdd", }:Ajax的一些属性

new { id = "addForm" }:表单的属性

Ajax.ActionLink 创建超链接

1. 添加unobtrusive-ajax引用,<script src="@Url.Content("~/Scripts/jquery.unobtrusive-ajax.min.js")" type="text/javascript"></script>

2. 添加ActionLink

@Ajax.ActionLink("删除", "Delete", "User", new { id = item.UserCode }, new AjaxOptions() { UpdateTargetId = "strcontent", HttpMethod = "Post", Confirm = " 您确定要删除该记录吗?该操作不可恢复!" })

删除:显示的字符
delete:action
user:controller
new { id = item.UserCode } 参数值
new AjaxOptions() ajax的参数设置


AjaxOptions属性:

1.Conform 单击时会弹出Conform对话框

2.HttpMethod 设定Http请求方法(Get或Post)

3.InsertionMode 设定通过Ajax辅助方法取回数据时要如何将数据插入到目标DOM元素(即UpdateTargetId)中,有三种方法:

 InsertionMode.Replace 替代UpdateTargetId属性指定的内容

 InsertionMode.InsertBefore 在UpdateTargetId属性之前插入

 InsertionMode.InsertAfter 在UpdateTargetId属性之后插入

4.LoadingElementId 在读取尚未完成时所显示的文字

5.OnBegin 设定开始时要调用的javascript函数名称

6.OnComplete 设定结束时要调用的javascript函数名称

7.OnFailure 设定失败时要调用的javascript函数名称

8.OnSuccess 设定成功时要调用的javascript函数名称

9.UpdateTargetId 设定返回值要显示在哪个Id上

10.Url 设定请求的网址


其他

1.当使用C#保留关键字的时候,符号前面加上@  比如 @class

2.对于重复的数据 可以在action定义一个集合,然后在view中声明数据对象为action中定义的集合
@Html.DropdownList("list",ViewData["item"] as SelectList,"请选择")
@Html.DropDownList("FlowTo");
控制器:

var userInfoTemp = from u in userInfoList
 select new SelectListItem() { Text=u.UName,Value=u.ID.ToString() };