C# Asp.Net强类型视图和html re

C# Asp.Net强类型视图和html re,c#,asp.net-mvc,asp.net-mvc-4,C#,Asp.net Mvc,Asp.net Mvc 4,我有一个强类型视图,它正在工作并接收从控制器发送的模型 除了模型数据,我还需要记录用户从一组复选框中单击的内容。这些复选框是在加载视图时创建的,但不会绑定到模型 对于正常的表单提交(post),复选框值不会添加到HTTP消息体中吗 对于强类型视图,这似乎不会发生 除了模型之外,用户的选择是否可能以某种方式发送回控制器 更新: 如果不清楚,很抱歉。基本上,我有两个数据存储库——一个是我自己的自定义数据库,它存储用户交互记录,另一个是cms cms保存用于生成复选框的数据,数据库存储用于生成绑定到视

我有一个强类型视图,它正在工作并接收从控制器发送的模型

除了模型数据,我还需要记录用户从一组复选框中单击的内容。这些复选框是在加载视图时创建的,但不会绑定到模型

对于正常的表单提交(post),复选框值不会添加到HTTP消息体中吗

对于强类型视图,这似乎不会发生

除了模型之外,用户的选择是否可能以某种方式发送回控制器

更新: 如果不清楚,很抱歉。基本上,我有两个数据存储库——一个是我自己的自定义数据库,它存储用户交互记录,另一个是cms

cms保存用于生成复选框的数据,数据库存储用于生成绑定到视图的模型的数据

在我的模型中,我有一个id,可以用来查询cms,以获取生成复选框所需的数据,从而在视图中完成此操作。这就是为什么计数和复选框的名称事先不知道的原因

我需要将cb值存储为逗号分隔的列表intje db,这样OS就可以查询表单数据了

事实证明这真的很容易

申请表格


是否执行此技巧

您应该将复选框添加为强类型对象的属性


这些值在响应表单数据中返回。但是添加属性是最好的。如果无法将属性直接添加到类中,请使用分部类。

应将复选框添加为强类型对象的属性


这些值在响应表单数据中返回。但是添加属性是最好的。如果无法将属性直接添加到类中,请使用分部类。

应将复选框添加为强类型对象的属性


这些值在响应表单数据中返回。但是添加属性是最好的。如果无法将属性直接添加到类中,请使用分部类。

应将复选框添加为强类型对象的属性


这些值在响应表单数据中返回。但是添加属性是最好的。如果不能将属性直接添加到类中,请使用分部类。

可以为模型中的复选框添加属性,然后将从表单数据填充这些属性

您还可以在action方法中为复选框添加参数,然后从表单数据填充这些参数。例如:

public ActionResult MyAction(MyModel model, bool check1, bool check2) {
您还可以从表单数据中提取值,而无需定义任何属性或参数:

bool check1 = Request.Form["check1"] == "on";
bool check2 = Request.Form["check2"] == "on";

您可以为模型中的复选框添加属性,然后从表单数据填充它们

您还可以在action方法中为复选框添加参数,然后从表单数据填充这些参数。例如:

public ActionResult MyAction(MyModel model, bool check1, bool check2) {
您还可以从表单数据中提取值,而无需定义任何属性或参数:

bool check1 = Request.Form["check1"] == "on";
bool check2 = Request.Form["check2"] == "on";

您可以为模型中的复选框添加属性,然后从表单数据填充它们

您还可以在action方法中为复选框添加参数,然后从表单数据填充这些参数。例如:

public ActionResult MyAction(MyModel model, bool check1, bool check2) {
您还可以从表单数据中提取值,而无需定义任何属性或参数:

bool check1 = Request.Form["check1"] == "on";
bool check2 = Request.Form["check2"] == "on";

您可以为模型中的复选框添加属性,然后从表单数据填充它们

您还可以在action方法中为复选框添加参数,然后从表单数据填充这些参数。例如:

public ActionResult MyAction(MyModel model, bool check1, bool check2) {
您还可以从表单数据中提取值,而无需定义任何属性或参数:

bool check1 = Request.Form["check1"] == "on";
bool check2 = Request.Form["check2"] == "on";

我能想到两个选择

  • 就像@KevDevMan所说的。将其添加到模型中。模型上的布尔值就可以了。但是如果你不需要这个,那么试试下一个

  • 这是下一个。为这些复选框指定唯一的名称(name=“chkbox1”,name=“chkbox2”),并将这些复选框作为参数添加到操作中,并使用相同的变量名(注意,根据我的经验,我发现这不区分大小写)。所以你的行动是这样的

    public ActionResult AfterSumbit(MyModel model, bool chkbox1, bool chkbox2)
    
  • 或者如果需要复选框的值

        public ActionResult AfterSubmit(MyModel model, string chkbox1, string chkbox2)
    

    这是由.net自动完成的,因此请放心,它将被相应地放置到变量中。

    2个我可以想到的选项

  • 就像@KevDevMan所说的。将其添加到模型中。模型上的布尔值就可以了。但是如果你不需要这个,那么试试下一个

  • 这是下一个。为这些复选框指定唯一的名称(name=“chkbox1”,name=“chkbox2”),并将这些复选框作为参数添加到操作中,并使用相同的变量名(注意,根据我的经验,我发现这不区分大小写)。所以你的行动是这样的

    public ActionResult AfterSumbit(MyModel model, bool chkbox1, bool chkbox2)
    
  • 或者如果需要复选框的值

        public ActionResult AfterSubmit(MyModel model, string chkbox1, string chkbox2)
    

    这是由.net自动完成的,因此请放心,它将被相应地放置到变量中。

    2个我可以想到的选项

  • 就像@KevDevMan所说的。将其添加到模型中。模型上的布尔值就可以了。但是如果你不需要这个,那么试试下一个

  • 这是下一个。为这些复选框指定唯一的名称(name=“chkbox1”,name=“chkbox2”),并将这些复选框作为参数添加到操作中,并使用相同的变量名(注意,根据我的经验,我发现这不区分大小写)。所以你的行动是这样的

    public ActionResult AfterSumbit(MyModel model, bool chkbox1, bool chkbox2)
    
  • 或者如果需要复选框的值

        public ActionResult AfterSubmit(MyModel model, string chkbox1, string chkbox2)
    

    这是由.net自动完成的,因此请放心,它将被相应地放置到变量中。

    2个我可以想到的选项

  • 就像@KevDevMan所说的。将其添加到模型中。模型上的布尔值就可以了。但是如果你不需要这个,那么试试下一个

  • 这是下一个。为这些复选框指定唯一的名称(name=“chkbox1”,name=“chkbox2”),并将这些复选框作为参数添加到操作上