不错呦!smile@林凯西,确保“准备文件”中的几个文件都有安装,S...您好,看了您这篇帖子觉得很有帮助。但是有个问题想请...我的修改过了怎么还被恶意注册呢 @jjjjiiii 用PJ快9年了,主要是A...PJ3啊,貌似很少有人用PJ了,现在不是WP就是z...@332347365,我当时接入时错误码没有-10...楼主,ChkValue值应为-103是什么意思呢?...大哥 你最近能看到我发的信息,请跟我联系,我有个制...
ASP.NET MVC3同一View多个表单测试
编辑:dnawo 日期:2012-08-15
测试1:同一View单个表单测试
View:
Action:
结果正常:

测试2:View表单和Action参数名称不一致测试
Action:
运行结果:

可见,View表单名称必须和Action参数名称对应,Action中才能正确取值。
测试3:同一View两个表单测试
View:
Action:
项目生成通过,但在submit时出错:

既然Action参数名和表单一一对应,为什么HttpPost时区分不出来呢?Action做如下修改后运行正常:
View:
复制内容到剪贴板
程序代码

<h2>@ViewBag.Message</h2>
<p>
@using (Html.BeginForm()) {
<input type="text" name="f1" />
<input type="submit" value="submit" />
}
</p>
<p>
@using (Html.BeginForm()) {
<input type="text" name="f1" />
<input type="submit" value="submit" />
}
</p>
Action:
复制内容到剪贴板
程序代码

[HttpPost]
public ActionResult Index(string f1)
{
ViewBag.Message = string.Format("f1={0}", f1);
return View();
}
public ActionResult Index(string f1)
{
ViewBag.Message = string.Format("f1={0}", f1);
return View();
}
结果正常:

测试2:View表单和Action参数名称不一致测试
Action:
复制内容到剪贴板
程序代码

[HttpPost]
public ActionResult Index(string f2)
{
ViewBag.Message = string.Format("f1={0}", f2);
return View();
}
public ActionResult Index(string f2)
{
ViewBag.Message = string.Format("f1={0}", f2);
return View();
}
运行结果:

可见,View表单名称必须和Action参数名称对应,Action中才能正确取值。
测试3:同一View两个表单测试
View:
复制内容到剪贴板
程序代码

<h2>@ViewBag.Message</h2>
<p>
@using (Html.BeginForm()) {
<input type="text" name="f1" />
<input type="submit" value="submit" />
}
@using (Html.BeginForm())
{
<input type="text" name="f2" />
<input type="text" name="f3" />
<input type="submit" value="submit" />
}
</p>
<p>
@using (Html.BeginForm()) {
<input type="text" name="f1" />
<input type="submit" value="submit" />
}
@using (Html.BeginForm())
{
<input type="text" name="f2" />
<input type="text" name="f3" />
<input type="submit" value="submit" />
}
</p>
Action:
复制内容到剪贴板
程序代码

[HttpPost]
public ActionResult Index(string f1)
{
ViewBag.Message = string.Format("f1={0}", f1);
return View();
}
[HttpPost]
public ActionResult Index(string f2, string f3)
{
ViewBag.Message = string.Format("f2={0},f3={1}", f2, f3);
return View();
}
public ActionResult Index(string f1)
{
ViewBag.Message = string.Format("f1={0}", f1);
return View();
}
[HttpPost]
public ActionResult Index(string f2, string f3)
{
ViewBag.Message = string.Format("f2={0},f3={1}", f2, f3);
return View();
}
项目生成通过,但在submit时出错:

既然Action参数名和表单一一对应,为什么HttpPost时区分不出来呢?Action做如下修改后运行正常:
复制内容到剪贴板
程序代码

[HttpPost]
public ActionResult Index(string f1, string f2, int f3)
{
ViewBag.Message = string.Format("f1={0},f2={1},f3={2}", f1, f2, f3);
return View();
}
public ActionResult Index(string f1, string f2, int f3)
{
ViewBag.Message = string.Format("f1={0},f2={1},f3={2}", f1, f2, f3);
return View();
}







评论: 0 | 引用: 0 | 查看次数: 4740
发表评论
请登录后再发表评论!