gpt4 book ai didi

c# - 在 ASP.NET MVC 4 Razor 中,如何获取 @Html.Label 的值(文本)?

转载 作者:太空宇宙 更新时间:2023-11-03 18:27:40 27 4
gpt4 key购买 nike

很抱歉,我已尝试搜索,但没有收到与我的问题相关的任何信息。

我的看法:

<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>

还有我的 Controller :

[HttpPost]
public ActionResult AdminDeleteResult(FormCollection form)
{
string userid = form["userid"].ToString(); //ERROR HERE
...
}

我尝试用 @Html.TextBox("userid") 替换 Label,它工作正常。但我想使用标签,因为我不希望人们改变它的值(value)。感谢您的帮助!

最佳答案

这不是 Label 的目的,您必须使用 input表单 的目的是收集数据,数据保存在表单元素 中。

如果你不希望人们改变这个值(这可以讨论),你可以将input设置为readonly或者你可以隐藏它。

因为您的 View 使用模型,您可以使用带有 lambda 表达式的 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
// ...
}

关于c# - 在 ASP.NET MVC 4 Razor 中,如何获取 @Html.Label 的值(文本)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30420786/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com