标签: asp.net-mvc-5

为什么 ASP.NET MVC 路由有一个名称?

在 ASP.NET MVC 5 Web 应用程序中,有一个 RouteConfig 类注册许多路由。到目前为止,在我看到的所有示例中,只有“默认”路由具有非空名称。URL 模式和默认路由值似乎足以将任何 URL 正确关联到控制器和要执行的操作。那么,命名路线有什么好处吗?用于调试或记录?只是为了自我记录代码?

例如:

public class RouteConfig
{
  public static void RegisterRoutes( RouteCollection routes )
  {
    routes.IgnoreRoute( "{resource}.axd/{*pathInfo}" );

    // Most pages.
    routes.MapRoute( name: "Default",
      url: "{controller}/{action}/{id}",
      defaults: new { controller = "home", action = "index", id = UrlParameter.Optional }

    // A special page.
    // Should the route have a name?
    routes.MapRoute( name: "",
      url: "special",
      defaults: new { controller = "special", action = "index", HttpVerbs = HttpVerbs.Get } );
  }
}
Run Code Online (Sandbox Code Playgroud)

c# asp.net-mvc-5

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

如何重新格式化我的ASP.NET MVC5错误消息以仅显示C#中的第一条消息

我有以下代码,我认为将向我展示我的模型中的每个错误:

@if (!ViewData.ModelState.IsValid)
{
    <ul>
    @foreach (string key in ViewData.ModelState.Keys)
    {
        @foreach (var error in ViewData.ModelState[key].Errors)
        {
            <li>@error.ErrorMessage</li>
        }
    }
    </ul>
}
Run Code Online (Sandbox Code Playgroud)

代码是嵌入在网页内的C#.有人能告诉我如何报告第一条消息并将其报告在一个<span>.

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

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

Request.QueryString ["string"] - 真的没有简单的方法吗?

我一直在阅读不少的东西和鲍勃......

我只是想确保无法通过字符串轻松获取查询参数.

所以我们说URL是:

www.example.com?sort=hi
Run Code Online (Sandbox Code Playgroud)

我不能打电话

@SomeMethodIDoNotKnow.GetQuery("sort")
Run Code Online (Sandbox Code Playgroud)

例如在PHP中你得到$_GET["sort"]......

我试过@Request.QueryString["sort"]但它需要一个int :(

c# url razor visual-studio-2013 asp.net-mvc-5

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

MVC模式 - 这是存储库/工作单元的正确方法

我一直在涂鸦和阅读,只是想确保我采取的方法是正确的.我正在使用MVC5和EF,实现存储库和工作单元模式.

EntityModel -> <- SomeRepository
SomeRepository -> <- SomeController
SomeController -> SomeViewModel
SomeViewModel -> SomeView
SomeView -> SomeController
SomeController -> <- SomeRepository
etc ..
Run Code Online (Sandbox Code Playgroud)

在控制器中,我计划使用类似AutoMapper的东西将ViewModel映射到EntityModel(反之亦然),然后可以将其传递到我的存储库/视图.

此外,通过这种方法,我不能100%确定我的业务逻辑应该去哪里.例如,如果我有一个产品的EntityModel并且我想添加一个GetAssociatedProducts方法,这是否会违反EntityModel或者是否应该引入另一个层,因此EntityModel只是一个简单的数据库映射类?

ViewModel应该包含任何逻辑吗?即创建一个Dictionary根据EntityModel的值填充视图的下拉列表?

我试图避免与刚开始编码相关的问题,而不考虑这个问题的原因是什么.

注意:我也在实现IoC,Autofac但我不认为这是相关的(以防万一).

asp.net-mvc unit-of-work asp.net-mvc-5

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

MVC5 ApplicationUser不是当前上下文的模型的一部分

我试图在我现有的SQL Server 2008数据库上创建成员资格表,并使用它而不是在Visual Studio中为我创建的默认数据库,但在注册帐户时收到错误.有没有办法像之前的aspnet_regsql一样手动创建表?

错误:实体类型ApplicationUser不是当前上下文的模型的一部分

我想出了答案.applicationUser不喜欢使用数据库第一种方法创建的连接字符串.您需要使用标准连接字符串.

asp.net-mvc-4 asp.net-mvc-5

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

如何在mvc 5中将using语句添加到所有视图中

有许多为web.config中的所有视图添加using语句以用于先前版本的示例,但我没有找到一个用于MVC 5.

有人能举个例子吗?

asp.net-mvc-5

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

在azure中部署MVC5应用程序

我已经创建了mvc5应用程序(带有sql server和实体框架的web UI)正在按预期工作,现在我想在azure中部署它,它最简单的方法是什么?

目前应用程序使用SQL DB如何更改它以使用azure sql Db,有哪些步骤...

即时通讯使用VS2013 premium for web

谢谢!

c# azure visual-studio-2013 asp.net-mvc-5 asp.net-mvc-5.1

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

查找字符串参数在发布后删除并返回到asp.net mvc中的同一页面

我正在实现一个asp.net mvc5应用程序,并且在post操作和查询字符串参数方面存在问题.

我的页面网址是 http://localhost/site/person/edit?personId=20

[HttpGet]
public ActionResult Edit(int personID)
{
    // ....   

    return View(person);
}
Run Code Online (Sandbox Code Playgroud)

在此页面中包含提交按钮,它将执行post方法.在post方法中,如果Model.Isvalid得到false,我将返回带有Model的视图.

[HttpPost]
public ActionResult Edit(Person person)
{
    if (ModelState.IsValid)
    {
          //....
          return RedirectToAction("Index", "Dashboard", new { area = "" });
    }
    else
    {
          return View(person);
    }
}
Run Code Online (Sandbox Code Playgroud)

这工作正常.但问题是,一旦Model.IsValid变为false,它将进入视图但没有查询字符串参数.然后URL就像http://localhost/site/person/edit

有没有办法获取带有查询字符串参数的URL.

javascript asp.net-mvc post asp.net-mvc-5

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

如何创建dropdownlist在ASP.NET Razor MVC 5中禁用

    <div class="form-group">            
        @Html.LabelFor(model => model.CourseStatus, new { @class = "control-label col-md-2" })    
        <div class="col-md-10">
            @Html.DropDownList("statusList", String.Empty, new { @disbled = disabled})
            @Html.ValidationMessageFor(model => model.CourseStatus)       
        </div>
    </div>
Run Code Online (Sandbox Code Playgroud)

我是ASP.NET MVC5和RAZOR的新手.我只想创建一个禁用的下拉列表.我已经创建了SelectList名称"statusList".通过它我试图调用状态.但是我想让它变得笨拙并默认为一个状态

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

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

MVC Linq查询和MS SQL Server

我的问题是相当简单的,如何限制传递给View的列?

通常在编写SQL时,SELECT语句将指定所需的列以及所需的表,因为到目前为止,我对Linq的使用涉及到这样的查询:

var navigationModel = (from m in db.Navigations where (m.Main == true) orderby m.Position select m);
Run Code Online (Sandbox Code Playgroud)

因此,这将显示以下类中标识的所有列:

public partial class Navigation
{
    public int Id { get; set; }
    public string Title { get; set; }
    public Nullable<int> Position { get; set; }
    public bool Main { get; set; }
    public string Action { get; set; }
    public string Controller { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

因此,上面的Linq查询效率不高,因为我只想要列Title,Action和Controller.

有人可以告诉我如何过滤传递给视图的数据吗?

任何帮助将非常感激 :-)

c# linq sql-server-2012 asp.net-mvc-5

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