假设我有一个表单,表单有两个div容器。一个div容器有很少的文本框用于提交登录详细信息,另一个div也有几个与注册相关的文本框。现在我的家庭控制器有两个动作方法,一个是登录,另一个是注册。我希望当用户点击登录按钮然后我将通过jquery提交表单但在提交之前我将更改动作网址。当用户点击注册按钮时我想调用注册动作方法的方式相同。请指导我如何使用jquery在mvc中执行此操作。请帮我提供示例代码。
另一个人像其他论坛一样回答。@model MvcForums.Models.StudentModel
@{
using(@Html.BeginForm("Create","Student", FormMethod.Post))
{
<label> Name</label>
@Html.TextBoxFor(m=>m.FirstName) <br/>
<label> From country:</label>
@Html.DropDownListFor(m=>m.CountryId, Model.Countries,"--please select-- ") <br/>
<input id="btnSave" value ="Login" type="submit" name="commandName"/>
<input id="btnRegister" value ="Register" type="submit" name="commandName"/>
}
}
[HttpPost]
public ActionResult Create(StudentModel studentModel, string commandName)
{
if(commandName == "Login")
{
}
else if(commandName == "Register")
{
}
return View("Index");
}
在读完他的回答之后,我脑子里出现了一些混乱,因为我是mvc的新手,而且如下:
首先,对于格式错误,你的代码不可读。我是mvc的新手......只是学习它。阅读你的代码后会出现一些混乱。
1)为什么额外的括号你给了@{ }
2你在表单构建代码中使用<label> Name</label>
。在html4中是否有任何标签?它是html5特定标签吗?
3)@Html.DropDownListFor(m=>m.CountryId, Model.Countries,"--please select-- ")
当你构建下拉列表时为什么你没有指定价值&amp;文件提交....... mvc如何理解哪个字段会有价值&amp;什么是文字?你只需用DropDownListFor()
绑定模型4)只是看到它
<input id="btnSave" value ="Login" type="submit" name="commandName"/>
<input id="btnRegister" value ="Register" type="submit" name="commandName"/>
按钮名称都是commandName
?这是对的吗?
当用户点击任何按钮时,按钮名称将如何传递给
public ActionResult Create(StudentModel studentModel, string commandName)
Create()
方法?请告诉我如何将隐式命令名称传递给服务器端的Create() and how commandName
变量,该变量可以保存按钮名称。
阅读你的代码后,我有太多的困惑。如果可能的话,请详细讨论我的所有观点。感谢
答案 0 :(得分:0)
我希望当用户点击登录按钮然后我将提交表单 通过jquery但在提交之前我将更改动作网址。相同 我希望在用户点击注册时调用注册动作方法 按钮。
<强> 1。点击按钮时的活动:
$(function(){
$("#btnSave").click(function(){
$("#btnSave").closest("form").attr("action", "/home/test");
});
});
<强> 2。标记强>
<form method="POST" action="/home/test1" >
<input id="btnSave" value="Login" type="submit" name="commandName"/>
</form>
第3。服务器端:
[HttpPost]
public ActionResult Test(string commandName)
{
return null;
}
1)Razor语法参考http://haacked.com/archive/2011/01/06/razor-syntax-quick-reference.aspx
2)<label>
不是特定的html5代码,但在html5中有其他属性,http://www.w3schools.com/tags/tag_label.asp
3)您可以构建指定文本和值<{p>的IEnumerable
SelectListItem
4)如果您不想在服务器端捕获客户端值input
,则commandName
名称value ="Login"
并不重要,