我想创建一个按钮,以便在'onclick'之后更新标签的文本。我找到了一些使用ASPX实现的解决方案,但我想使用Razor。
//The following is achieved by ASPX
//View
<asp:label id="myLabel" runat="server" />
//Onclick event
myLabel.Text = "my text";
如何在ASP.net MVC中使用Razor视图引擎?
答案 0 :(得分:3)
你来自asp.net webforms背景吗?
您应该使用javascript更新文本。 runat =&#34;服务器&#34;不再存在,不应该根据MVC原则使用。
答案 1 :(得分:1)
您可以在模型中拥有如下属性:
ControllerNameModel
{
...
public string LabelText {get; set;} = "my text"; //my text is the default value
}
然后在您的Controller中,您可以更改标签文本:
public IActionResult ControllerName(ControllerNameModel model)
{
model.LabelText = "new text for label"
return View(model); // return the view with modified model
}
在你看来,你应该有这样的标签:
<label for="something">@Model.LabelText</label>
P.S。:将 ControllerName 更改为控制器的相应名称
答案 2 :(得分:0)
您可以使用简单的ViewBag来执行此操作。在控制器中设置值:
public ActionResult Index()
{
ViewBag.MyCustomTitle = "Title"
return View();
}
...并在视图中使用它:
<label>@ViewBag.MyCustomTitle</label>