我似乎有一个与ASP.NET MVC的问题在于,如果我有不止一个表单在每个使用相同的名称,但作为不同的types(收音机/隐藏/等),然后,当第一种forms的post(例如,我select“Date”单选button),如果表单被重新渲染(例如作为结果页面的一部分),我似乎有问题,其他forms的SearchType的隐藏价值被更改为最后一个单选button值(在本例中为SearchType.Name)。 下面是一个缩减的例子。 <% Html.BeginForm("Search", "Search", FormMethod.Post); %> <%= Html.RadioButton("SearchType", SearchType.Date, true) %> <%= Html.RadioButton("SearchType", SearchType.Name) %> <input type="submit" name="submitForm" value="Submit" /> <% Html.EndForm(); %> <% Html.BeginForm("Search", "Search", FormMethod.Post); %> <%= Html.Hidden("SearchType", SearchType.Colour) %> <input type="submit" name="submitForm" value="Submit" /> <% Html.EndForm(); %> <% Html.BeginForm("Search", "Search", FormMethod.Post); %> <%= Html.Hidden("SearchType", SearchType.Reference) %> <input type="submit" name="submitForm" value="Submit" […]
为什么在控制器的构造函数中会话是空的? 它可以从Action方法访问。 据推测,因为MVC路由框架负责新控制器,它没有(重新)实例化会议在这一点上。 有谁知道这是否是devise,如果是这样,为什么? [我设法通过使用延迟加载模式来解决这个问题。]
ASP.NET MVC的ViewBag是ViewBag工作的? MSDN表示这只是一个Object ,这让我很感兴趣, ViewBag.Foo和魔术stringViewBag["Hello"]等“Magic”属性是如何工作的? 另外,我怎么能做一个,并在我的ASP.NET WebForms应用程序中使用它? 例子将非常感激!
我正在编辑一个项目,我看到一个控制器方法中的Session [“”]和另一个控制器方法中的TempData [“”]。 这四个之间有区别,还是只有四种方法来做同样的事情?
我有一个types为List的模型的视图,我想在页面上放置一个下拉列表,列表中包含列表中的所有string作为下拉列表中的项目。 我是MVC的新手,我怎么做到这一点? 我试过这个: @model List<string> @Html.DropDownListFor(x => x) 但是抛出了一个错误。 任何帮助表示赞赏。
我有一个分离的Data Accass Layer类库项目中的MyDbContext。 我有一个默认的IdentityDbContext的ASP.NET MVC 5项目。 这两个上下文使用相同的数据库,我想使用AspNetUsers表来外键为我的一些表。 所以我想合并这两个上下文,我也想使用ASP.NET身份。 我该怎么做? 请指教, 合并后,这是我的上下文: public class CrmContext : IdentityDbContext<CrmContext.ApplicationUser> //DbContext { public class ApplicationUser : IdentityUser { public Int16 Area { get; set; } public bool Holiday { get; set; } public bool CanBePublic { get; set; } public string FirstName { get; set; } public string LastName […]
在试图让我的应用程序正确地产生404错误,我已经实现了所有路由在我的路由表结束,如下所示: routes.MapRoute( "NotFound", _ "{*url}", _ New With {.controller = "Error", .action = "PageNotFound"} _ ) 但是,为了得到这个工作,我不得不删除默认路由: {controller}/action/{id} 但是现在已经删除了默认值,我的大多数操作链接都不再工作了,而我发现重新启动它们的唯一方法是为每个控制器/操作添加单独的路由。 是否有一个简单的方法来做到这一点,而不是为每个控制器/行动添加一个路线? 如果用户尝试导航到未知路线,是否可以创build默认路线,仍然允许捕捉所有路线?
如何使用TextboxFor添加data-* html属性? 这是我现在有: @Html.TextBoxFor(model => model.Country.CountryName, new { data-url= Url.Action("CountryContains", "Geo") }) 正如你所看到的,在这里导致data-url的问题。 这是怎么回事?
是否有可能使我的应用程序要求提供用户名和密码之前渲染视图? 就像在Twitter API获取有关您的帐户的信息: http://twitter.com/account/verify_credentials.xml 所以在渲染视图||之前 文件它要求你插入你的用户名和密码,我认为这是直接在服务器上,因为curl请求是基于用户名:密码以及如下所示: curl -u user:password http://twitter.com/account/verify_credentials.xml 正如我试图build立一个API遵循相同的结构,我想知道如何在ASP.NET MVC C#上做到这一点。 我已经在ruby on rails上使用它,它非常简单,如: before_filter :authenticate def authenticate authenticate_or_request_with_http_basic do |username, password| username == "foo" && password == "bar" end 我不认为[Authorize]filter是相同的,因为我相信这只是一个redirect,它会将您redirect到基于帐户数据库的Accounts Internal Controller,在这种情况下,我将使用另一个数据库, web服务,并提交信息后进行validation。 但是,我需要采取行动来要求用户,并根据请求传递凭据。 提前致谢 更新: 其实要请求一个页面,需要这个authentication(即Twitter),我将不得不根据其要求宣布这一点 request.Credentials = new NetworkCredential("username", "password"); 这将反映提示的用户名和密码。 所以,从另一方面来说,这是完全一样的,如果可以根据请求向authentication提示信息提供信息,那么我怎么会要求这个authentication呢? 所以每次有人试图向我的应用程序请求例如: HTTP://为MyApplication /客户/ verify_credentials 它应该要求一个用户名和密码与该服务器提示,以检索curl的信息,例如它会是这样的 curl -u user:password […]
我的主要问题是,当上传的文件超过允许的大小(web.config中的maxRequestLength)时,我想显示一个自定义的错误页面。 当上传大文件时,在调用控制器中的上传操作方法之前抛出HttpExceptionexception。 这是预料之中的。 我试图捕捉自定义属性中的exception,并重写控制器中的OnException。 为什么不能在属性或OnException方法中捕获exception呢? 尽pipe可以在Global.asax中的Application_Error中捕获exception,但Response.Redirect和Server.Transfer都不能用于redirect到自定义错误页面。 Server.Transfer给出“无法处理子请求”错误,response.redirect给出“Http头已发送”错误。 有任何想法吗? 提前致谢! 马库斯