MVC 表单提交赢得发送 select 标签 selected 选项
MVC form submit won send the select tag selected option
我有一个 MVC 表单,里面有一个 HTML select 标签。
select 是从 JavaScript 填充的。
如何在提交表单时发送 selected 选项?
@using (Html.BeginForm("LoginFromTest", "Login", FormMethod.Post))
{
@Html.ValidationSummary(true, "Login failed. Check your login details.");
<div style="margin: 10px;">
<fieldset>
<legend>Login</legend>
<div class="editor-label">
Username:
</div>
<div class="editor-field">
<input type="text" name="user" />
</div>
<div class="editor-label">
Password:
</div>
<div class="editor-field">
<input type="password" name="password" />
</div>
<div class="editor-label">
Authority:
</div>
<div class="editor-field">
<select id="authority" />
</div>
<input type="submit" value="Log In" />
<br/>
@if (!string.IsNullOrWhiteSpace(ViewBag.Error))
{
<span style="color: red;">@ViewBag.Error</span>
}
</fieldset>
</div>
}
谢谢
假设您的操作方法类似于:
public ActionResult LoginFromTest(string user, string password, string authority)
你只需要给你的 select 一个与你想要它填充的参数相匹配的名字:
<div class="editor-field">
<select id="authority" name="authority">
<option value="X" />
<option value="Y" />
</select>
</div>
如果您绑定到模型,您的模型需要:
public class myModel
{
public string username {get; set;}
public string password {get; set;}
public string authority {get; set;}
}
您的操作将如下所示:
public ActionResult LoginFromTest(myModel model)
但名称保持不变。您也可以使用 @Html.DropDowListFor
和 @Html.DropDownList
助手,但完全可以使用 flat HTML.
来完成此操作
我有一个 MVC 表单,里面有一个 HTML select 标签。 select 是从 JavaScript 填充的。 如何在提交表单时发送 selected 选项?
@using (Html.BeginForm("LoginFromTest", "Login", FormMethod.Post))
{
@Html.ValidationSummary(true, "Login failed. Check your login details.");
<div style="margin: 10px;">
<fieldset>
<legend>Login</legend>
<div class="editor-label">
Username:
</div>
<div class="editor-field">
<input type="text" name="user" />
</div>
<div class="editor-label">
Password:
</div>
<div class="editor-field">
<input type="password" name="password" />
</div>
<div class="editor-label">
Authority:
</div>
<div class="editor-field">
<select id="authority" />
</div>
<input type="submit" value="Log In" />
<br/>
@if (!string.IsNullOrWhiteSpace(ViewBag.Error))
{
<span style="color: red;">@ViewBag.Error</span>
}
</fieldset>
</div>
}
谢谢
假设您的操作方法类似于:
public ActionResult LoginFromTest(string user, string password, string authority)
你只需要给你的 select 一个与你想要它填充的参数相匹配的名字:
<div class="editor-field">
<select id="authority" name="authority">
<option value="X" />
<option value="Y" />
</select>
</div>
如果您绑定到模型,您的模型需要:
public class myModel
{
public string username {get; set;}
public string password {get; set;}
public string authority {get; set;}
}
您的操作将如下所示:
public ActionResult LoginFromTest(myModel model)
但名称保持不变。您也可以使用 @Html.DropDowListFor
和 @Html.DropDownList
助手,但完全可以使用 flat HTML.