相关疑难解决方法(0)

Razor If/Else条件运算符语法

没有太多运气,我在Razor中有以下if/else语句,效果很好

<small>
  @if(deletedView){
     @:Deleted
  } 
  else {
     @:Created
  } by
</small> 
Run Code Online (Sandbox Code Playgroud)

我想做这样的事情:

<small>
  @(deletedView) ? @:Deleted : @:Created by
</small>
Run Code Online (Sandbox Code Playgroud)

但那失败了.什么是正确的语法?

razor asp.net-mvc-3

92
推荐指数
1
解决办法
13万
查看次数

asp.net MVC3 razor:根据用户角色显示actionlink

我是MVC的新手.我希望能够为某些用户隐藏一些动作链接.假设我有一个"创建"动作链接,我只希望管理员查看并单击.我想在asp.net中使用某种"loggedmpmplate",但它似乎不适用于剃须刀.

我可以使用某种代码块和if语句检查当前用户及其角色,但这可能不是最佳做法?

我的index.cshtml ..

// want some adminauth attribute here...
@Html.ActionLink("Create New", "Create")
Run Code Online (Sandbox Code Playgroud)

我的控制器..

// GET: /Speaker/Create
[Authorize(Roles = "Administrators")]
public ActionResult Create()
{
    return View();
}
Run Code Online (Sandbox Code Playgroud)

c# razor asp.net-mvc-3

62
推荐指数
3
解决办法
4万
查看次数

用剃刀做的其他简写

我在我的视图中使用它,并希望它只显示"是"或"否",但显示 False?"yes":"No"

@myPosts.Contains(item.ID)?"Yes":"No"
Run Code Online (Sandbox Code Playgroud)

这里有什么不对?

c# asp.net-mvc razor

55
推荐指数
2
解决办法
3万
查看次数

带Bootstrap Navbar的MVC - 将所选项设置为活动状态

我正在学习Bootstrap,无法将所选项目置于"活动"状态.活动状态保留在默认项目上.新选择/单击的项目会暂时变为活动状态,但会恢复原状.我已阅读所有帖子,仍然无法使此代码生效.我正在使用MVC5和JQuery 2.1.

编辑: 如果我将li的hrefs更改为href ="#",则正确应用活动类.加载新视图时会发生什么?我认为塞巴斯蒂安的回应很接近,但是对于区域而言却变得混乱.

标记

<div class="navbar-wrapper">
    <div class="container">
        <div class="navbar navbar-inverse navbar-fixed-top">

            <div class="navbar-header">
                <a class="navbar-toggle" data-toggle="collapse" data-target=".nav-collapse">
                    <span class="icon-bar"></span>
                    <span class="icon-bar"></span>
                    <span class="icon-bar"></span>
                </a>
                <a class="navbar-brand" href="#">Test</a>
            </div>
            <div class="btn-group pull-right">
                <a class="btn dropdown-toggle" data-toggle="dropdown" href="#">
                    <i class="icon-user"></i>Login
          <span class="caret"></span>
                </a>
                <ul class="dropdown-menu">
                    <li><a href="#">Profile</a></li>
                    <li class="divider"></li>
                    <li><a href="#">Sign Out</a></li>
                </ul>
            </div>
            <div class="navbar-collapse collapse">
                <ul class="nav navbar-nav">
                    <li class="active"><a href="~/Home">Home</a></li>
                    <li><a href="~/Home/About">About</a></li>
                    <li><a href="~/Student">Students Sample</a></li>
                    <li class="dropdown">
                        <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a>
                        <ul …
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc twitter-bootstrap twitter-bootstrap-3

24
推荐指数
4
解决办法
4万
查看次数

如果使用HTML内容,我可以编写内联吗?

我想写一些类似的东西:

@( checkCondition ? "<span class='label'>Right!</span>" : "")
Run Code Online (Sandbox Code Playgroud)

但它显示的是源代码而不是HTML,有一种简单的方法可以做到这一点吗?

谢谢!

asp.net-mvc inline-if razor

23
推荐指数
2
解决办法
3万
查看次数

使用三元运算符输出包含Razor空格的字符串

我试图在Razor中使用三元运算符,类似于这个问题,但我想输出的内容包含空格.这段代码

@(selectedGoal == null ? "" : "value=" + selectedGoal.Name)
Run Code Online (Sandbox Code Playgroud)

应该产生

value="Goal 3"
Run Code Online (Sandbox Code Playgroud)

由于selectedGoal.Name的值为"目标3".相反,我得到了

value="Goal" 3
Run Code Online (Sandbox Code Playgroud)

这不好.我已经尝试了一堆不同的转义引号,@符号和没有@符号的组合,我只是无法让它工作,即

@(selectedGoal == null ? "" : "value=" + "selectedGoal.Name")
@(selectedGoal == null ? "" : "value=@selectedGoal.Name")
Run Code Online (Sandbox Code Playgroud)

然后我就得到类似的东西

value="selectedGoal.Name"
Run Code Online (Sandbox Code Playgroud)

谁知道应该怎么做?

asp.net ternary-operator razor

7
推荐指数
1
解决办法
4780
查看次数

Razor View中的三元算子

可能重复:
如何在剃刀中使用三元运算符(特别是在HTML属性上)?

我试图做以下但它的错误,所以我显然在做Razor语法错误:

<td>@{item.Licence.MachineId != null ? @:"TB Master" : @:"HandHeld"}  </td>
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc razor asp.net-mvc-3

6
推荐指数
1
解决办法
2万
查看次数

如何使用@Model(TimeSpan)在剃刀中使用三元运算符?

我试图在这段代码中使用三元运算符,其Model.FirstTechSupportAssigneeElapseTime类型为TimeSpan?:

<dt>Assigned In</dt>
<dd> 
@if (@Model.FirstTechSupportAssigneeElapseTime == null)
     { @:N/A } 
else 
     { @Model.FirstTechSupportAssigneeElapseTime } 
</dd>
Run Code Online (Sandbox Code Playgroud)

我试图实现三元运算符,但我失败了,@的处处让我感到困惑.在这种情况下,是否可以拥有三元运算符?

谢谢.

c# asp.net timespan ternary-operator razor

5
推荐指数
1
解决办法
9109
查看次数

带有HTML.ActionLink的ASP.NET MVC Razor三元

我试图回答这个问题:

如何在剃刀中使用三元运算符(特别是在HTML属性上)?

使用Html.ActionLink; 这样的事情:

@(ViewData["page"] == "Page1" ? "Page1" : Html.ActionLink("Page 1", "Page1", "Index"))
Run Code Online (Sandbox Code Playgroud)

这可能吗?

ternary-operator razor asp.net-mvc-3

4
推荐指数
1
解决办法
1271
查看次数

ASP.NET MVC Razor:三元

使用带有Razor视图引擎的三元组时遇到一些麻烦.

我的模型有一个字符串属性.如果该字符串属性为null,我想null在视图中呈现.如果属性不为null,我希望它使用前导和尾随呈现属性值'.

我怎样才能做到这一点?

更新:对不起,稍微改了一下问题.

asp.net view razor

2
推荐指数
2
解决办法
2404
查看次数

有没有办法终止MVC Razor @:line?

考虑这个例子:

<input type="checkbox" @if (flag) { @: checked } />
Run Code Online (Sandbox Code Playgroud)

问题在于} />Razor引擎将其视为输出字符串的一部分.

我试过用括号但没有运气.

有没有办法@:在同一行中终止运算符,或者我必须将它拆分为其他行/使用三元运算符?

更新

如果值为true,我的请求的一个非常常见的用例可以是添加一个类:

<div class='container @(active ? "active")'/>
Run Code Online (Sandbox Code Playgroud)

因此,如果:三元运算符不存在,它会将其视为一元运算if符,但这只是一个愿望......

是我对C#UserVoice的建议.

c# asp.net-mvc if-statement razor razorengine

2
推荐指数
1
解决办法
649
查看次数