简体   繁体   English

在cz中用c#mvc混合css

[英]mixing css with c# mvc in razor

How can I simplify this code using razor engine (c# mvc)..Is there any way to mix c# and css inside razor engine? 如何使用razor引擎(c#mvc)简化此代码..有没有办法在razor引擎中混合使用c#和css?

Actually i am not getting correct answer while trying this 实际上我在尝试这个时没有得到正确答案

 @model FoodViewModel

@foreach (FoodView item in Model.Foodviews)
{         
 @if (item.vote == 1)
       {
        <input type="radio" name="example" class="rating" value="1"  checked="checked" />
        <input type="radio" name="example" class="rating" value="2" />
        <input type="radio" name="example" class="rating" value="3" />
        <input type="radio" name="example" class="rating" value="4" />
        <input type="radio" name="example" class="rating" value="5" />
       } 
        else if(item.vote == 2)
       {
        <input type="radio" name="example" class="rating" value="1" />
        <input type="radio" name="example" class="rating" value="2"  checked="checked"  />
        <input type="radio" name="example" class="rating" value="3" />
        <input type="radio" name="example" class="rating" value="4" />
        <input type="radio" name="example" class="rating" value="5" />
       }
       else if (@item.vote == 3)
       {
        <input type="radio" name="example" class="rating" value="1" />
        <input type="radio" name="example" class="rating" value="2" />
        <input type="radio" name="example" class="rating" value="3" checked="checked" />
        <input type="radio" name="example" class="rating" value="4" />
        <input type="radio" name="example" class="rating" value="5" />
       } 

       else
       {
        <input type="radio" name="example" class="rating" value="1" />
        <input type="radio" name="example" class="rating" value="2" />
        <input type="radio" name="example" class="rating" value="3" />
        <input type="radio" name="example" class="rating" value="4" />
        <input type="radio" name="example" class="rating" value="5"  />
       } 
}

Why not DRY up your code by trying something like: 为什么不通过尝试以下方式来干扰您的代码:

for (int i = 1; i <= 5; i++)
{
     <input type="radio" name="example" class="rating" value="@i" 
     @if(i == item.vote)
     {
       checked="checked"
     }
     />
}

Presumably you want some kind of label / value however? 大概你想要某种标签/价值吗?

You could try a simple loop? 你可以尝试一个简单的循环?

@for (var i = 1; i < 6; i++) {
    if (i == item.vote) {
        <input type="radio" name="example" class="rating" value="@i" checked>
    } else {
        <input type="radio" name="example" class="rating" value="@i">
    }
}

Or, even better, with a html helper; 或者,甚至更好,使用HTML帮助程序;

@for (var i = 1; i < 6; i++) {
     @Html.RadioButton("example", i, item.vote == i, new { @class = "rating" })
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM