小编Joh*_*nC1的帖子

如果是Razor Views的Statement(For CSS Class)

我需要在CSS类之间切换,具体取决于是否读取了消息.

简单来说,应该是这样的:

if (item.status == "Unread")
{
  <tr style="font-weight:bold">
  ...
}
else
{
  <tr>
  ...
}
Run Code Online (Sandbox Code Playgroud)

我虽然无法实现这一目标.能告诉我一件好事吗?我应该使用HTML帮助器吗?

这是到目前为止的完整代码:

@foreach (var item in Model) {

    if (item.status == "Unread")
    {
        <tr style="font-weight:bold">
            <td>
                @Html.DisplayFor(modelItem => item.timestamp)
            </td>
            <td>
                @Html.DisplayFor(modelItem => item.subject)
            </td>
            <td>
                @Html.DisplayFor(modelItem => item.message_text)
            </td>
            <td>
                @Html.DisplayFor(modelItem => item.status)
            </td>
            <td>
                @Html.DisplayFor(modelItem => item.user_sender.username)
            </td>
            <td>
                @Html.DisplayFor(modelItem => item.user_reciever.username)
            </td>
            <td>
                @Html.ActionLink("Edit", "Edit", new { id = item.id }) |
                @Html.ActionLink("Details", "Details", new { id = item.id }) | …
Run Code Online (Sandbox Code Playgroud)

c# asp.net-mvc html-helper razor

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

在一个简单的Viewbag.Title中,获取RuntimeBinderException

我有一个非常简单的ViewBag.Title.像这样:

@{
    ViewBag.Title = "My Title";
    ViewBag.MiniTitle = "Sub - Title";
}
Run Code Online (Sandbox Code Playgroud)

哪个是在_Layout.cshtml上解析的

<title>@ViewBag.Title</title>
Run Code Online (Sandbox Code Playgroud)

但是,我得到了这个例外:

Thrown: "'System.Dynamic.DynamicObject' does not contain a definition for 'Title'"
(Microsoft.CSharp.RuntimeBinder.RuntimeBinderException) 
Exception Message = "'System.Dynamic.DynamicObject' does not contain a definition for 
'Title'", Exception Type = "Microsoft.CSharp.RuntimeBinder.RuntimeBinderException"
Run Code Online (Sandbox Code Playgroud)

我一直在搜索,我找不到有关它的更多信息.这个人面临的问题基本上是同一个问题:http://forums.asp.net/t/1715878.aspx?MVC3 + Razor + Viewbag +Title + RuntimeBinderException

我的问题也和发布的最后一个人一样.这对我没有任何问题,项目工作正常,我的标题也是如此.但是,我不喜欢因为它们很昂贵而引发异常的事实.

有谁知道我该如何解决这个问题?谢谢!

c# asp.net-mvc razor viewbag

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

为 asp-for 指定自定义名称(只需要 child 属性)

假设我有这个代码:

<input type="hidden" asp-for="CurrentThread.ThreadId" />
Run Code Online (Sandbox Code Playgroud)

这将生成一个名为 的隐藏输入CurrentThread_ThreadId。但是,我希望"ThreadId"只有这个名字。基本上,想忽略任何父类,只想要最后一个属性的名称。

我可以轻松做到:

<input type="hidden" asp-for="CurrentThread.ThreadId" name="ThreadId" />
Run Code Online (Sandbox Code Playgroud)

但是,我正在失去智能。

我只是想知道是否可以"ThreadId"通过 Intellisense生成名称。

c# asp.net-core asp.net-core-tag-helpers

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

实体框架7数据库优先配置(MVC 6)

经过长时间的不断斗争,终于想出了如何使用EF7数据库第一种方法使用MVC 6.这是怎么回事:

App.Impl - > project.json:

"frameworks": {
    "net451": { },
    "dnx451": { }
},
"dependencies": {
    "EntityFramework.Commands": "7.0.0-rc1-final",
    "EntityFramework.MicrosoftSqlServer": "7.0.0-rc1-final",
    "EntityFramework.MicrosoftSqlServer.Design": "7.0.0-rc1-final"
},
Run Code Online (Sandbox Code Playgroud)

然后从cmd运行命令:

dnx ef dbcontext scaffold "Server=ip,port;Database=db;User Id=user;Password=pass;" EntityFramework.MicrosoftSqlServer
Run Code Online (Sandbox Code Playgroud)

我面临的3个问题.在我的Impl项目上.

  1. 我有一个专门用于数据的文件夹.My Data文件夹应包含所有与数据库相关的内容,例如DbContext,DbClasses.但是,Scaffold在根目录下创建这些文件.如何指定我想要创建这些文件的文件夹?

  2. 在我的工作地点,我可以有一个包含50个表的数据库.但是,如果我只需要访问2,该怎么办?我不想为我的项目添加所有50个表.如何指定我想要的表格?

  3. 在我的数据库中,我可以有一个名为"Users"的表,因为它是一个包含用户的表.但是,scaffold应该创建一个类作为"User",因为它是一个单独的用户,直到它成为List.如何指定正在创建的表的名称?

谢谢大家的帮助.

entity-framework-core asp.net-core-mvc asp.net-core

3
推荐指数
1
解决办法
4800
查看次数

在没有jQuery的情况下使用$(Selector)

我目前正在使用这样的东西:

function Select(query)
{
    return query[0] === '#' ? document.querySelector(query) : document.querySelectorAll(query);
}
Run Code Online (Sandbox Code Playgroud)

我必须像以下一样使用它:

Select('#id').innerHTML = "content", or Select('.class')
Run Code Online (Sandbox Code Playgroud)

有没有办法可以在没有jQuery的情况下使用$('#id)或$('.class')?

javascript jquery function

0
推荐指数
1
解决办法
361
查看次数