Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/fsharp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将bool从view/ActionLink返回到方法-Asp.netmvc_C#_Asp.net Mvc_Razor - Fatal编程技术网

C# 将bool从view/ActionLink返回到方法-Asp.netmvc

C# 将bool从view/ActionLink返回到方法-Asp.netmvc,c#,asp.net-mvc,razor,C#,Asp.net Mvc,Razor,我必须在内部传递bool->“@Html.ActionLink(“,”Like“,”new{id=Model.id@*,在此处传递bool值*@}”。我的模型不包含bool属性,也不能添加它(首先是数据库)或用ViewModel替换模型。是否仍有可能以某种方式将bool值传递给我的方法 我的类似方法的签名在参数中采用Guid Id和bool 我能通过考试吗 @Html.ActionLink("Like!", "Like", new { id = Model.Id, @* true bool

我必须在内部传递bool->
“@Html.ActionLink(“,”Like“,”new{id=Model.id@*,在此处传递bool值*@}”。
我的模型不包含bool属性,也不能添加它(首先是数据库)或用ViewModel替换模型。是否仍有可能以某种方式将bool值传递给我的方法

我的类似方法的签名在参数中采用
Guid Id
bool

我能通过考试吗

   @Html.ActionLink("Like!", "Like", new { id = Model.Id, @* true bool*@}
   @Html.ActionLink("Disike!", "Like", new { id = Model.Id, @*false bool*@}
致:


知道如何将布尔值从视图传递到控制器吗?

传递布尔的方式与传递模型id的方式相同:

@Html.ActionLink("Like!",   "Like", new { id = Model.Id, getBool = true})
@Html.ActionLink("Disike!", "Like", new { id = Model.Id, getBool = false})

归根结底,
Model.Id
没有什么特别之处。它只是一个
Guid
。传入的值不一定来自特定的任何地方。传入任何值都可以。

传递bool的方式与传递模型Id的方式相同:

@Html.ActionLink("Like!",   "Like", new { id = Model.Id, getBool = true})
@Html.ActionLink("Disike!", "Like", new { id = Model.Id, getBool = false})
归根结底,
Model.Id
没有什么特别之处。它只是一个
Guid
。传入的值不一定来自任何特定的地方。传入任何值都可以。

没有“我不能用ViewModel替换模型”这样的事情。 这就是ViewModel的思想,也就是说,创建一个不同于数据库模型的模型,并适合视图需求

e、 g.如果数据库中有此模型:

     public  class Person
    {
       public int PersonID { get; set;}
       public string Name { get; set;}
       public string password { get; set;}
    }
您希望在视图中验证密码,而不需要在模型中创建验证密码的属性,这是在ViewModel类中执行的操作:

public class PersonVM :Person
{
       public string verifyPassword { get; set;}
} 
请注意,并非所有情况下都会在VM中继承原始模型

创建虚拟机后,您将创建一个视图,该视图的模型就是您为该视图创建的虚拟机。这样,您可以通过视图传递并获取任何附加信息。

没有“我不能用视图模型替换模型”这样的事。 这就是ViewModel的思想,也就是说,创建一个不同于数据库模型的模型,并适合视图需求

e、 g.如果数据库中有此模型:

     public  class Person
    {
       public int PersonID { get; set;}
       public string Name { get; set;}
       public string password { get; set;}
    }
您希望在视图中验证密码,而不需要在模型中创建验证密码的属性,这是在ViewModel类中执行的操作:

public class PersonVM :Person
{
       public string verifyPassword { get; set;}
} 
请注意,并非所有情况下都会在VM中继承原始模型


创建虚拟机后,您将创建一个视图,该视图的模型就是您为该视图创建的虚拟机。这样,您可以通过视图传递和获取任何附加信息。

getBool=true
?@David然后我总是得到true,我更新了代码(包括另一个按钮,不喜欢(返回false))-两者都使用相同的方法。
getBool=true
?@David然后我总是得到true,我更新了代码(包括另一个按钮,不喜欢(返回false))-都使用相同的方法。OP明确表示他不能用viewmodel替换他的模型。你是对的,但是,我试图解释VM的正确用法,我认为OP没有抓住VM的重点,OP明确表示他不能用viewmodel替换他的模型。你是对的,但是,我试图解释VM的正确用法,我认为OP没有抓住VM的重点,