Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/324.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# 在MVC4中重写表单输入上的值_C#_Asp.net Mvc_Asp.net Mvc 4_Razor - Fatal编程技术网

C# 在MVC4中重写表单输入上的值

C# 在MVC4中重写表单输入上的值,c#,asp.net-mvc,asp.net-mvc-4,razor,C#,Asp.net Mvc,Asp.net Mvc 4,Razor,我正在尝试用MVC4创建一个表单,到目前为止进展顺利,但我遇到了一个问题,似乎无法通过设置相关的“value”属性为我的输入提供默认值 我正在使用的代码: @Html.TextBoxFor(x => x.Name, new { value="xxx" }) 呈现以下内容: <input id="EditDetail_SKU" name="EditDetail.SKU" type="text" value="" /> 收益率: <input foo="bar" id="

我正在尝试用MVC4创建一个表单,到目前为止进展顺利,但我遇到了一个问题,似乎无法通过设置相关的“value”属性为我的输入提供默认值

我正在使用的代码:

@Html.TextBoxFor(x => x.Name, new { value="xxx" })
呈现以下内容:

<input id="EditDetail_SKU" name="EditDetail.SKU" type="text" value="" />
收益率:

<input foo="bar" id="name" name="Name" thing="whatever" type="text" value="" />


这些属性甚至是虚构的,但它们仍然受到尊重,那么为什么在这种情况下忽略“值”,我可以做些什么来防止这种情况发生呢?

默认值将是模型中的
名称
属性的值

这就是
强类型模型在ASP.NET MVC中的工作方式

在各自的操作中,将
名称
变量指定为默认值

public ActionResult Index()
{ 
    var model = new YourModel();
    model.Name = "Default Value";

    return View(model);
}
在你看来

@Html.TextBoxFor(x => x.Name) 

请参阅此线程:

快速而肮脏的方法是:

<%= Html.TextBoxFor(x => x.Age, new { @Value = "0"}) %>
x.Age,新的{@Value=“0”})%>

注意
@
和大写字母
V

使用
@Value
代替Value
value
是一个关键字。

试试
@value=“xxx”
好sir@Jonesy大写字母“V”使它起作用。要不要解释一下否决票?你的回答忽略了问题的内容和精神。请看已被接受的答案,这实际上是一种“正确”的方式。可能仅仅因为它不是通用的工作解决方案,就否决一个工作解决方案有点苛刻。@a.R.您没有提到要在哪里设置默认值。大多数情况下,您可以在操作中或根据某些业务逻辑计算默认值的其他地方设置默认值。这就是为什么我说这是正确的方法。如果你想快速、巧妙地解决你的问题,那就好了!但这并没有使我的答案偏离主题。从问题的第一句话开始:“但我遇到了一个问题,似乎不可能通过设置相关的‘值’属性为我的输入提供默认值。”特别是:设置相关的‘值’属性。“我要说的是,关于如何以及在何处设置值,这一点非常清楚。在这种情况下,“value”不是一个关键字,小写版本的“value”也不会起作用。请看被接受的答案。当然,对了,@和Capital V?我在另一个帖子中看到,也没有人知道为什么这样做,哈哈。这也是我在下面写的原因。对于和你有同样问题的人来说,很容易忽视,而只是寻找一个答案。
<%= Html.TextBoxFor(x => x.Age, new { @Value = "0"}) %>