Asp.net mvc 有人能用Razor给我解释一下这个语法吗?

Asp.net mvc 有人能用Razor给我解释一下这个语法吗?,asp.net-mvc,razor,razor-2,Asp.net Mvc,Razor,Razor 2,老实说,我已经找了很长一段时间了,我甚至找不到我要找的东西的一般格式,但是我有下面的Razor语法,我不知道它是什么意思 <option value="@value" @(Model.Amount == value ? "selected" : "") >$@value</option> $@值 如果可能的话,我想解释一下那行代码。具体来说,我为什么没有呢 选项值=“@Model.Amount”或类似的内容? 我也不明白Razor语法在Model.Amount==

老实说,我已经找了很长一段时间了,我甚至找不到我要找的东西的一般格式,但是我有下面的Razor语法,我不知道它是什么意思

<option value="@value" @(Model.Amount == value ? "selected" : "") >$@value</option>  
$@值
如果可能的话,我想解释一下那行代码。具体来说,我为什么没有呢 选项值=“@Model.Amount”或类似的内容? 我也不明白Razor语法在Model.Amount==value之后是如何工作的

“?”表示什么 以及“选定”的两个值:“)

如果有人能向我彻底解释这一点,我将不胜感激

谢谢(条件)?(如果为true):(else)是C#,而不仅仅是Razor

如果
@value
等于
Model.Amount
,则会写出
,即在HTML中选择它

这相当于简写

if (Model.Amount == value)
{
   <%: "Selected" %>
}
else
{
  <%: "" %>
}
if(Model.Amount==值)
{
}
其他的
{
}
(条件)?(如果为true):(else)
是C#,而不仅仅是Razor

如果
@value
等于
Model.Amount
,则会写出
,即在HTML中选择它

这相当于简写

if (Model.Amount == value)
{
   <%: "Selected" %>
}
else
{
  <%: "" %>
}
if(Model.Amount==值)
{
}
其他的
{
}
这是设置选项的值

@(Model.Amount == value ? "selected" : "")
这是简写布尔逻辑,或者IF/THEN

上述内容在概念上与此相同:

if (Model.Amount == value)
{
    return "selected";
}
else
{
    return "";
}
视图的模型上有一个名为Amount的属性,这是一个布尔值,用于确定该选项是否为select中的选定值。

这是设置选项的值

@(Model.Amount == value ? "selected" : "")
这是简写布尔逻辑,或者IF/THEN

上述内容在概念上与此相同:

if (Model.Amount == value)
{
    return "selected";
}
else
{
    return "";
}

视图的模型上有一个名为Amount的属性,这是一个布尔值,用于确定该选项是否为select中的选定值。

属性设置为选项标记。但是,这不是创建下拉列表的好方法。您应该使用
Html.DropDownListFor
@(Model.Amount==value?“selected”:“”)
的作用是检查选项值是否等于Model.Amount,如果等于,它将向选项标记添加一个“selected”属性。但是,这不是创建下拉列表的好方法。你应该使用
Html.DropDownListFor
。嘿,斯图尔特,谢谢你的回答,现在如果我有一个文本框,这是否是将其传递回控制器的合适语法?是的,这将在输入的value属性中插入
@Model.autoreloadsthreshold
。试试看:)嗯,也许我做错了什么,但当我有了这些,文本框中的值不会在post方法中发送到我的模型。调试这些的最简单方法通常是分析浏览器发送到服务器的网络流量。嘿,斯图尔特,谢谢你的回答,现在如果我有一个文本框,这是合适的语法来传递回我的控制器吗?是的,这将在输入的value属性中插入
@Model.autoreloadsthreshold
。试试看:)嗯,也许我做错了什么,但当我有了这些,文本框中的值不会在post方法中发送到我的模型。调试这些的最简单方法通常是分析浏览器发送到服务器的网络流量。和