[英]In ASP.NET MVC 4 Razor, how do you get the value (text) of @Html.Label?
很抱歉,我嘗試搜索,但未收到與我的問題有關的任何信息。
我的觀點:
<legend>COMFIRM</legend>
@using (Ajax.BeginForm("AdminDeleteResult", "Admin",
new AjaxOptions { UpdateTargetId = "div" }))
{
<div id="div"></div>
<h6>ARE YOU SURE WANT TO DELETE</h6>
<ol>
<li>
@Html.Label("User ID:")
@Html.Label("userid", Model.userid)
</li>
<li>
@Html.Label("Username:")
@Html.Label(Model.username)
</li>
</ol>
<button>DELETE</button>
}
</fieldset>
而我的控制器:
[HttpPost]
public ActionResult AdminDeleteResult(FormCollection form)
{
string userid = form["userid"].ToString(); //ERROR HERE
...
}
我嘗試用@Html.TextBox("userid")
替換Label,它工作正常。 但是我想使用Label,因為我不希望人們改變它的價值。 謝謝您的幫助!
這不是使用input
Label
的目的。 form
的目的是收集數據,並將數據保存在表單元素中 。
如果您不希望人們更改值(可以討論),則可以將input
readonly
,也可以將其隱藏。
由於您的視圖使用模型 ,因此可以將Latda表達式與HtmlHelpers一起使用來創建表單。
@using (Ajax.BeginForm("AdminDeleteResult", "Admin",
new AjaxOptions { UpdateTargetId = "div" }))
{
<div id="div"></div>
<h6>ARE YOU SURE WANT TO DELETE</h6>
<ol>
<li>
@Html.Label(model => model.userid)
@Html.TextBoxFor(model => model.userid, new { @readonly="readonly" })
@* @Html.HiddenFor(model => model.userid) *@
</li>
<li>
@Html.Label(model => model.username)
@Html.TextBoxFor(model => model.username, new { @readonly="readonly" })
</li>
</ol>
<button>DELETE</button>
}
正如@ man-nemati所提到的,最好在您的操作中使用模型
[HttpPost]
public ActionResult AdminDeleteResult(UserModel user)
{
string userid =user.userid; // userid is storred in user
// ...
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.