我必须在里面传递一个 bool -> "@Html.ActionLink("", "Like", new { id = Model.Id @*, Pass bool value here *@}".
我的方法 Like 签名采用 Guid Id
和参数中的 bool
。
我尝试了以下内容:
bool passBool = true;
@Html.ActionLink("Like!", "Like", new { id = Model.Id, passBool}
@Html.ActionLink("Disike!", "Like", new { id = Model.Id, passBool = false}
但我收到它为空。
public ActionResult Like(Guid id, bool? getBool) //gets null error without '?'
{
if (getBool == true){
return Content("Liked!");
}else if (getBool == false){
return Content("Disiked!");
}
我也尝试通过 View 模型修复它但没有成功:
var liked = new Test.ViewModel.LikeViewModel {LikeDislike = true};
@Html.ActionLink("Like!", "Like", new { id = Model.Id, liked}
但它不起作用,因为当我传递这些 boolean 值时它们仍然为空。知道如何将 boolean 值从 View 传递到 Controller 吗?
最佳答案
您需要为传递的参数命名,以便它与您的 Controller 操作相匹配:
@Html.ActionLink("Like!", "Like", new { id = Model.Id,getBool= passBool}
关于c# - 如何在 ActionLink 中传递 bool 值(从 View 到 Controller )?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39881056/