在Action Method 里可以传 FormCollection, 然后使用你指定的key 来访问值
public ActionResult SomeActionMethod(FormCollection formCollection)
{
var val = formCollection[key];
}
可以更详细一些嘛 我说的文本框的值不是主键
其实是在从请求中获取的值,类似Context.Request.Form[]这种形式。我没用过 MVC,这只是自己的理解。
只要在Action方法中定义与这个TextBox的id同名的参数即可。
你搜一下 MVC3 Model传值
如果有实体的话就可以像上面说的那样
""只要在Action方法中定义与这个TextBox的id同名的参数即可。"
我经常这样用
<div class="editor-label">
@Html.LabelFor(model => model.Account)
</div>
<div class="editor-field">
<input id="Account" name="Account" onblur="Changename()" maxlength="5" />
<div id="ts" style="color: Gray;" />
</div>
如果只有一个参数的话可以考虑用 @Html.ActionLink 传值都后台
还是没看明白 你是说在取值的那个TextBox里面 定义一个ID 然后 在action方法里面 定义的参数和ID一样是什么意思? 名字和BOX的ID一样 类型是 string ?
@c#牛刀小试: 不知道这对你也没有用,
public ActionResult About()
{
return View();
}
[HttpPost]
public ActionResult About(string UserName)
{
return View();
}
@Html.TextBox("UserName");
<input type="submit" />
<input id="Account" name="Account" onblur="Changename()" maxlength="5" />
怎么跟Model的参数结合起来啊
Request.Form["你Textbox的name"]
首先,视图里面使用Ajax.BeginFor的方式进行表单数据的传递:
@using (Ajax.BeginForm("Modify", "ModuleTree", new { }, new AjaxOptions { HttpMethod = "POST", OnSuccess = "EditWindow()" }))
{@Html.Textbox(model => model.ModuleParentID)}
然后在控制里面,在方法名上面使用POST表单传值的引用[AcceptVerbs(HttpVerbs.Post)],这样,在控制器就可以使用前台Textbox填写的数据了。
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Modify(string EditModule, T_Module module)