Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/32.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# 隐藏字段未将值传递给控制器_C#_Asp.net_Asp.net Mvc_Asp.net Mvc 4 - Fatal编程技术网

C# 隐藏字段未将值传递给控制器

C# 隐藏字段未将值传递给控制器,c#,asp.net,asp.net-mvc,asp.net-mvc-4,C#,Asp.net,Asp.net Mvc,Asp.net Mvc 4,这是myModel public class myModel : myBaseModel { public string AccountName { get; set; } public string BankName { get; set; } public string BranchCode { get; set; } } 我正在使用textBoxFor从视图中获取AccountName、BankName和BranchCode @Html.LabelFor

这是myModel

public class myModel : myBaseModel
{
    public string AccountName { get; set; }
    public string BankName { get; set; }
    public string BranchCode { get; set; }
}
我正在使用textBoxFor从视图中获取AccountName、BankName和BranchCode

     @Html.LabelFor(m => m.AccountName, GetContentBody(101111))
     @Html.TextBoxFor(m => m.AccountName)
     @Html.ValidationMessageFor(m => m.AccountName)
问题是我不再需要Accountname文本框,但是我不允许从模型中删除Accountname,我应该在视图中指定此值

因此,我计划使用html.hiddenFor及其值更改此文本框,问题是hiddenfield将帐户名作为null传递给控制器

**我的问题是为什么hiddenfield将其值作为null传递?**

我删除了这个

@Html.TextBoxFor(m => m.AccountName)
并添加而不是它

@Html.HiddenFor(m=>m.AccountName, new { @Value = "defaultUserName" });

伙计,你可以替

如果您的模型已填充,将正常工作


 <input type="hidden" value="@Model.AccountName" name="AccountName" />

您必须为控件命名,因为mvc就是这样映射的。

您做错了。您必须使用or,看起来您遗漏了一个逗号来分隔扩展方法参数:

而不是:

@Html.HiddenFor(m=>m.AccountName new { @Value = "defaultUserName" })
您需要执行以下操作:

@Html.HiddenFor(m=>m.AccountName, new { @Value = "defaultUserName" })

当您使用参数将Html Helper控件值传递给控制器的方法时, 您必须在中提供该html帮助程序的name属性 像

和在控制器中

public ActionResult Index(string hiddenname){}

这将捕获你的视图隐藏值

不清楚你在问什么?如果您没有使用/不想要
AccountName
,那么如果它为空,为什么会出现问题?如果您真的在使用它,并且希望它是一个隐藏字段,那么为什么不将您的代码显示为隐藏字段,这样我们就可以看到它,而不用猜测您做了什么?为什么不在出现问题时使用
html.hiddenFor
显示代码?在创建模型时,隐藏字段将获得您设置的值。如果您将其设置为null,它将在post上以null的形式发回。在创建时给它一个值,或者用JS更改它。我删除了文本框,但我会自动插入帐户名,而无需等待用户输入,这样我就可以从视图中访问帐户名,将其分配给hiddenfields值,但它将以Null形式传递控制器显示带有隐藏字段的新代码。需要提供
名称=
输入中的“AccountName”
public ActionResult Index(string hiddenname){}