标签: asp.net-mvc-5

MVC5身份角色角色名称智能感知

没有代码,因为我不知道这是否可能.

是否有可能在Db(此时创建)中使用角色Seed()作为Enum或类似的东西,以便不使用记住所有角色等,而是可以使用intellisense?

如果有可能你能告诉我怎么样?

c# intellisense enums asp.net-mvc-5 asp.net-identity

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

Task.Wait在MVC5中锁定控制器的流程

我们正在从MVC站点使用WebAPI.我们从这样的控制台应用程序中做了一个概念验证,使用了AddUser Method,它在我们的数据库中调节了一个新用户.

static void Main()
    {
        M_Users user = new M_Users();

        var newUser = new M_Users()
        {
            Password = "123",
            FirstName = "Andrew",
            Email = "someAndrew@someplace.com",
            AdminCode = 1,
            IsDisabled = false,
            CountryId = 48,
            CityId = 149,
            DepartmentId = 3,
            CreationDate = DateTime.Now,
            CreatorUserId = 1
        };
        var star = RunAsync(newUser);
        star.Wait();

        //THIS LINE IS REACHED ALWAYS
        Console.WriteLine(star.Result.UserID);
        Console.ReadLine();
    }

    static async Task<M_Users> AddUserAsync(M_Users newUser)
    {
        M_Users user = new M_Users();
        string requestUri = "api/User/AddUser";

        using (var client = …
Run Code Online (Sandbox Code Playgroud)

c# async-await asp.net-web-api asp.net-mvc-5

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

从具有可变输入数量的Form传递数据 - MVC 5

我一直在这里寻找类似的问题,但仍然找不到我的问题的解决方案.

我有一个包含一些文本和表单的页面,它们共享相同的ViewModel,如下所示:

public class MyViewModel
 {
   public IEnumerable<WordingB> WordingBs { get; set; }
   public IEnumerable<WordingC> WordingCs { get; set; }
   public IEnumerable<Question> Questions { get; set; } 
}
Run Code Online (Sandbox Code Playgroud)

这里有关于WordingB,WordingC和Question的更多细节:

public class WordingB
    {           
        public string EOW { get; set; }
    }



public class WordingC
    {           
        public string EOW { get; set; }
    }




public class Question
    {           
        public string QuestionText { get; set; }
        public string Answer {get; set;}
    }
Run Code Online (Sandbox Code Playgroud)

这是有问题的页面:

@model MyProject.ViewModels.MyViewModel   

<div class="col-md-6 masonry listview-block">
    @foreach (var wording …
Run Code Online (Sandbox Code Playgroud)

forms asp.net-mvc asp.net-mvc-viewmodel asp.net-mvc-5

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

表MVC中的ActionLink

编辑:我已经阅读并实现了本文中的方法,但这不起作用.

我有下表正确填充.

<table class="table">
   <tr>
       <th>Product</th>
       <th>File Name</th>
       <th>Release Date</th>
       <th>Size</th>
       <th></th>
   </tr>
   @{
       if (Model != null)
       {
           foreach (var item in Model.Uploads)
           {
               <tr>
                   <td>@Html.DisplayFor(modelItem => item.Product)</td>
                   <td>@Html.DisplayFor(modelItem => item.DisplayName)</td>
                   <td>@Html.DisplayFor(modelItem => item.ReleaseDate)</td>
                   <td>@Html.DisplayFor(modelItem => item.Size)</td>
                   <td>@Html.ActionLink("Delete File", "Upload", "Tools", new { id = item.DisplayName }, null)</td>
               </tr>
           }
       }
   }
</table>
Run Code Online (Sandbox Code Playgroud)

我还有一个带动作的控制器

[HttpPost]
[AllowAnonymous]
[ValidateAntiForgeryToken]
public async Task<ActionResult> DeleteUser(
    AdministratorViewModel model, string userName)
{
    // Do amazing stuff...
    return Index();
}
Run Code Online (Sandbox Code Playgroud)

我想将选择删除的用户名传递给此操作.我认为我可以@Html.ActionLink …

c# asp.net html5 razor asp.net-mvc-5

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

使用Struct的ModelBinding问题

我有一个ViewModel,它包含以下结构:

public struct PricesAndDiscounts
{
    public decimal FlatOff;
    public decimal UnitPrice;
    public decimal TotalDiscount;
    public decimal TotalOptions;
    public decimal TotalOrderPrice;
}
Run Code Online (Sandbox Code Playgroud)

ViewModel处于层次结构中,因此存在类型为PricesAndDiscounts的属性,该属性是DisplayRowPriceViewModel的成员,DisplayRowPriceViewModel是ManageOrderEditModel的成员:
-ManageOrderEditModel --DisplayRowPriceViewModel
.

请求的"形状"完全按照我的期望和期望(参见表单项的Fiddler截图):

在此输入图像描述

但是,在服务器上,默认的模型绑定器将结构实例化为每个成员的零.ViewModel中的其他所有内容都是由ModelBinder创建的,没有任何问题.

我是否需要为自定义结构创建自定义ModelBinder?

编辑 - 添加更多详细信息
签名是:

public ActionResult ManageOrder([FromBody]ManageOrderEditModel model)
Run Code Online (Sandbox Code Playgroud)

我在没有FromBody属性的情况下尝试过它.此外,PriceAndDiscounts是一个结构的事实并不是问题.我把它改成了一个类,所有成员都以零的形式出现,而不是你从表单中看到的Fiddler中的值.

ManageOrderEditModel

public class ManageOrderEditModel
{
    public DisplayOptionsInDropDownViewModel DisplayOptionsInDropDownViewModel { get; set; }
    public DisplayRowPriceViewModel DisplayRowPriceViewModel { get; set; }

    public int ID { get; set; }
    public int RegType { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

DisplayRowPriceViewModel

public class DisplayRowPriceViewModel
{
    public Discount Discount { …
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc modelbinders asp.net-mvc-5

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

错误的类型传入视图 - ASP.NET MVC 5

我正在尝试创建适用于两种不同模型的视图.但是我一直在查看视图中传递的错误类型的错误:

传递到字典中的模型项的类型为'System.Data.Entity.DynamicProxies.ApplicationUser_D1BDF9065CBA1B8BC24F5E69ACC3CAB19A6C7FB8624B0C4435112D881B7C9CA2',但此字典需要类型为'StudentBookProject.ViewModel.UserPostWrapper'的模型项.

我已经创建了一个简单的包装类,所以我可以访问两个分离的类的所有属性,如下所示:

public class UserPostWrapper
{
    public ApplicationUser UserInfoObject { get; set; }
    public List<Post> PostInfoObject { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

这是抛出异常的视图:

@model StudentBookProject.ViewModel.UserPostWrapper

<script src="~/Scripts/jquery-1.10.2.js"></script>
<script src="~/Scripts/jquery-ui-1.11.2.js"></script>

@using (Html.BeginForm("Upload", "Posts", FormMethod.Post, new { enctype = "multipart/form-data" }))
{
    <div class="jumbotron" style="height:300px">
        <div class="col-md-3">
            <img id="profilePhoto" src="data:image/png;base64,@Convert.ToBase64String(Model.UserInfoObject.ProfilePicture, 0, Model.UserInfoObject.ProfilePicture.Length)" width="150" />
        </div>
        <div id="dialog" style="display: none;">
            <img src="data:image/png;base64,@Convert.ToBase64String(Model.UserInfoObject.ProfilePicture, 0, Model.UserInfoObject.ProfilePicture.Length)">
        </div>
        <div class="col-md-push-5">
            @Html.Label(Model.UserInfoObject.Name + " " + Model.UserInfoObject.LastName, new { @class = "nameLabel" }) <br />
            @Html.Label(Model.UserInfoObject.DateOfBirth) <br …
Run Code Online (Sandbox Code Playgroud)

c# asp.net-mvc razor asp.net-mvc-5

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

编辑条目时的实体框架DateTime格式

我有一个Timetable模型,目前只有两个属性,一个IdDate.它定义如下:

public class Timetable
{
    public int Id { get; set; }

    [Required, Column(TypeName = "Date"), DisplayFormat(DataFormatString = "{0:dd/MM/yyyy}")]
    public DateTime Date { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

然后我构建了一些基本的CRUD功能,并且由于DisplayFormat注释,它允许我创建带有日期dd/MM/yyyy格式的时间表.但是,当我编辑现有时间表时,应用程序将填充Date文本框01/01/2015 00:00:00(参见屏幕截图).

在此输入图像描述

有没有办法让我的应用程序只使用日期,而不是日期和时间?

asp.net entity-framework date asp.net-mvc-5

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

如何在.NET MVC 5中存储会话数据

我可以使用HttpContext.ApplicationInstance.Context该类来使用该Session函数存储会话数据吗?或者有更好的方法来做到这一点?

.net c# asp.net-mvc asp.net-mvc-5

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

在创建数据库记录之前更改DateTime属性的日期部分

我有一个视图模型,我在其中存储DateTime但在我的视图中使用a JQUERY datetimepicker,仅限时间:

视图模型

[DataType(DataType.Time)]
public DateTime? MondayFrom { get; set; }
[DataType(DataType.Time)]
public DateTime? MondayTo { get; set; }
Run Code Online (Sandbox Code Playgroud)

就目前而言,当调用Create方法时,它使用今天的日期加上从中选择的时间timepicker.

由于我并不特别关注日期部分DateTime,我想将日期,月份和年份更改为01/01/1900或者比记录编写日期更不具体的内容,在创建记录之前,这纯粹是以避免将来出现任何混淆.

我不想陷入这样做是否正确的事情.

我很难掌握DateTime的Date部分,见下文:

 public void CreateClub(Club club)
        {
            foreach (var item in club.MeetingDays)
            {
                // change Date part to 01/01/1900, leave the time as is..
            }
            _repository.CreateClub(club);
        }
Run Code Online (Sandbox Code Playgroud)

我怎么可能把日期部分放在item一边但是把时间留在一边?

c# asp.net-mvc-5

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

POST上的表单字段为空

我有简单的联系表格,这是(查看)模型:

public class ContactForm
{
    [Required]
    public string Name;
    [Required]
    public string Email;
    [Required]
    public string Subject;
    [Required]
    public string Msg;
}
Run Code Online (Sandbox Code Playgroud)

控制器:

public ActionResult Contact (ContactForm form)
{
    return RedirectToAction("Index");
}
Run Code Online (Sandbox Code Playgroud)

视图:

@model myNamespace.ContactForm
...
@using (Html.BeginForm("Contact", "Home", FormMethod.Post))
{
    @Html.LabelFor(x => x.Name)
    @Html.TextBoxFor(x => x.Name)
    @Html.LabelFor(x => x.Email)
    @Html.TextBoxFor(x => x.Email)
    @Html.LabelFor(x => x.Subject)
    @Html.TextBoxFor(x => x.Subject)
    @Html.LabelFor(x => x.Msg)
    @Html.TextAreaFor(x => x.Msg)
    <button type="submit">Enviar</button>
}
Run Code Online (Sandbox Code Playgroud)

调用Controller的Contact方法.但是param form将所有字段都设为null:

在此输入图像描述

c# asp.net-mvc asp.net-mvc-4 asp.net-mvc-5

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