小编Ano*_*use的帖子

如何使html表头跨越多行

我有一些表头像:

<table>
    <tr>
        <th>
            Invoice Number
        </th>
        <th>
            Invoice Date
        </th>

...
Run Code Online (Sandbox Code Playgroud)

我想在标题中的不同行上得到不同的单词,所以我这样做:

<table>
    <tr>
        <th>
            Invoice<br />Number
        </th>
        <th>
            Invoice<br />Date
        </th>

...
Run Code Online (Sandbox Code Playgroud)

这有效,但我不确定它是否遵循最佳做法.我在网络广播中听说你不应该再使用它<br />了,不应该使用标签来格式化输出的样子,但是应该使用css,这样你就可以更容易地改变它.

任何人都可以提出更好的方法吗?

html css

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

如何在DropDownListFor的扩展中添加额外的htmlattributes

我正在尝试为以下内容编写扩展名DropDownListFor:

public static MvcHtmlString DropDownListFor<TModel, TProperty>(this HtmlHelper<TModel> htmlHelper, Expression<Func<TModel, TProperty>> expression, IEnumerable<SelectListItem> selectList, object htmlAttributes, bool enabled)
{
    return htmlHelper.DropDownListFor(expression, selectList, null /* optionLabel */, HtmlHelper.AnonymousObjectToHtmlAttributes(htmlAttributes));
}
Run Code Online (Sandbox Code Playgroud)

我想要实现的是如果启用是假的没有改变但是如果启用是真我想@disabled="disabled"在给它们之前添加到html属性AnonymousObjectToHtmlAttributes.

关于如何做到这一点的任何想法?

asp.net-mvc

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

MVC DropDownListFor在视图中基本为True False

我正在尝试在MVC中设置一个基本的DropDownListFor:

@Html.DropDownListFor(modelItem => item.CheckerApproved, new SelectList(new SelectListItem { Text = "True", Value="1" } , new SelectListItem { Text = "False", Value="0"}))
Run Code Online (Sandbox Code Playgroud)

这是我认为的,我想要的是一个基本的下拉列表truefalse10.

我认为我错误的部分是将项添加到SelectList构造函数中.

有人可以帮我这个吗?

asp.net-mvc

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

如何确定三个总数是否相等

嗨说我有三个整数:value1,value2和value3.

我如何最好地确定它们是否完全相同?

我试过了:

return value1 == value2 == value3
Run Code Online (Sandbox Code Playgroud)

但是这说:

运算符'=='不能应用于'bool'和'int'类型的操作数.

所以我猜它比较前两个返回一个布尔值,它试图与第三个进行比较.

我可以去:

return value1 == value2 && value2 == value3;
Run Code Online (Sandbox Code Playgroud)

但这似乎变得不整洁.

有人有个好主意吗?

c#

10
推荐指数
3
解决办法
8106
查看次数

存储库模式每个实现的优缺点

嗨,看看通常似乎实现的存储库模式,如:

public class GenericRepository<TEntity> where TEntity : class
{
    // other business

    public virtual TEntity GetByID(object id)
    {
        return db.Set().Find(id);
    }

    public virtual void Insert(TEntity entity)
    {
        db.Set().Add(entity);
    }

    public virtual void Delete(object id)
    {
        TEntity entityToDelete = db.Set().Find(id);
        Delete(entityToDelete);
    }

    public virtual void Update(TEntity entityToUpdate)
    {
        db.Set().Attach(entityToUpdate);
        context.Entry(entityToUpdate).State = EntityState.Modified;
    }
}
Run Code Online (Sandbox Code Playgroud)

因此,对于您要使用的每种类型(即更新),您需要实例化存储库.

所以如果我有两种类型我想保存Cars,Trucks我需要去:

var carRepository = new GernericRepository<Car>();
carRepository.Update(myCar);

var truckRepository = new GernericRepository<Truck>();
carRepository.Update(myTruck);
Run Code Online (Sandbox Code Playgroud)

那么你就为每种类型都有单独的存储库.要确保一次保存所有内容,您需要unitOfWork确保它们都使用相同的上下文并一次保存.

当然不会有更好的东西,如:

public class GenericRepository
{
    // …
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc repository-pattern

8
推荐指数
1
解决办法
4611
查看次数

MVC自定义角色提供者如何将其连接到HttpContext.Current.User.IsInRole("myrole")

我有一个MVC应用程序,我为它编写了一个自定义角色提供程序,如下所示:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Security;
using VectorCheck.Models;

namespace VectorCheck.Security
{
    public class MyRoleProvider : RoleProvider
    {
        private VectorCheckRepository<User> _repository { get; set; }

        public MyRoleProvider()
        {
            _repository = new VectorCheckRepository<User>();
        }

        public MyRoleProvider(VectorCheckRepository<User> repository)
        {
            _repository = repository;
        }

        public override void AddUsersToRoles(string[] usernames, string[] roleNames)
        {
            throw new NotImplementedException();
        }

        public override string ApplicationName
        {
            get
            {
                throw new NotImplementedException();
            }
            set
            {
                throw new NotImplementedException();
            }
        }

        public override void CreateRole(string roleName) …
Run Code Online (Sandbox Code Playgroud)

authentication asp.net-mvc

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

jQuery应该真的被视为硬编码值吗?

我正在看下面的jQuery调用:

$.get('/Home/GetResult', null, function (data) {

    alert(data);

});
Run Code Online (Sandbox Code Playgroud)

与以下相比,我认为这被称为"硬编码"方式:

$.get('@Url.Action("GetResult", "Home")', function (data) { 

    alert(data);

});
Run Code Online (Sandbox Code Playgroud)

我认为这是非硬编码的方式.

有人可以向我解释一下这是什么意思吗?在我看来,两种方式都是同样硬编码的方式来调用它,因为你在两者中都有显式的Controller和Method名称.

有谁知道为什么一个被称为硬编码而另一个不被称为硬编码.一个更好吗?

asp.net-mvc jquery razor

8
推荐指数
1
解决办法
421
查看次数

如何将html5属性和值导入mvc HiddenFor

我有以下隐藏的输入:

<input type="hidden" class="deleted" name="Deleted" data-id="@Model.Id" value="@Model.Deleted" />
Run Code Online (Sandbox Code Playgroud)

我想将它转换为MVC助手HiddenFor.

到目前为止:

@Html.HiddenFor(x => x.Deleted, new { @class="deleted" })
Run Code Online (Sandbox Code Playgroud)

所以这涵盖了课程.我还需要data-id属性和值.

试图将data-id添加为:

@Html.HiddenFor(x => x.Deleted, new { @class="deleted", data-id="@Model.Id" })
Run Code Online (Sandbox Code Playgroud)

好帮手似乎不喜欢data-id中的连字符.

那么如何在那里得到它?

还有怎么去value="@Model.Deleted"那里呢?

asp.net-mvc

8
推荐指数
1
解决办法
9950
查看次数

Moq嘲笑一堂课

我是Moq和嘲笑的新手.

我有一个课Car,我想要模拟这个课:

Car car = Mock<Car>();
Run Code Online (Sandbox Code Playgroud)

我收到错误"无法将类型'Moc.Mock'隐式转换为'Car'.

如果我有以下情况,我似乎可以这样做:

Car car = Mock<ICar>();
Run Code Online (Sandbox Code Playgroud)

但是我实际上没有 ICar

谁能告诉我如何实现模拟Car

asp.net-mvc moq mocking

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

在foreach的mvc radiobuttons

我正在使用MVC,我在foreach中有一些RadioButton:

    foreach (var item in group) {
                    <tr>
                        <td>
                            @Html.RadioButtonFor(modelItem => item.CheckerApproved, true)
                            @Html.RadioButtonFor(modelItem => item.CheckerApproved, false)
                        </td>
                    </tr>
}
Run Code Online (Sandbox Code Playgroud)

因此,对于组中的每个项目,都应该有一个真假的单选按钮.

问题是当组中有多个项目时,您最终可能会遇到两个项目:

<tr>
   <td>
      <input id="item_CheckerApproved" type="radio" value="True" name="item.CheckerApproved">
      <input id="item_CheckerApproved" type="radio" value="False" name="item.CheckerApproved 
         checked="checked">
   </td>
</tr>

<tr>
   <td>
      <input id="item_CheckerApproved" type="radio" value="True" name="item.CheckerApproved">
      <input id="item_CheckerApproved" type="radio" value="False" name="item.CheckerApproved 
         checked="checked">
   </td>
</tr>
Run Code Online (Sandbox Code Playgroud)

我想要的是这些radiobuttons团体是分开的.因此,更改第一行中的值不会影响第二行中的值.但是,如果您在顶行设置了say,则在第二行中选择任一值,取消第一行中的true.

我相信这是因为它们是由name属性链接的.但是,您实际上无法手动重置此名称属性.

有谁知道我怎么能让它工作,所以每一行的真假互相交互,但对radiobuttons其他行没有影响?

asp.net-mvc radio-button

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