Tag: 控制器

MVC 3尝试将URL启动到View而不是控制器操作

有时当我启动我的MVC 3项目时,它会尝试为正在呈现的视图加载完全限定的URL,而不是控制器中的操作(这给了我404错误)。 其他时候它工作正常,实际上按照预期的方式击中控制器动作,但它大约是50/50。 它有时会访问的URL是: http://localhost:xxxx/Views/Account/LogOn.cshtml 以下是Global.asax文件中的默认路由设置: routes.MapRoute( “Default”, // Route name “{controller}/{action}/{id}”, // URL with parameters new { controller = “Account”, action = “LogOn”, id = UrlParameter.Optional } ); 我也尝试从路由中删除/ {id}参数,因为我觉得登录屏幕不需要它。 有任何想法吗? 目前,该项目的设置非常简单,使用AccountController中的默认操作方法LogOn等。我唯一做的就是更改global.asax文件中的控制器和操作。

Asp.NET MVC:使用POST动作重定向到另一个控制器

我的问题是我想在另一个控制器中使用POST DATA而不是GET重定向到操作 RedirectToAction(“GenaraleExportPDF”, “ExportController”, new { screendata = json, monTitre = monTitre, file = file, block1 = block1, block2 = block2, block3 = block3, block4 = block4 }); 这个例子说明了重定向,但是在GET Action上。

MVC ASP.NET中的ViewData和ViewModel

我是.Net开发的新手,现在正在关注NerdDinner教程。 只是想知道你们中是否有人能告诉我 ViewData和ViewModel之间有什么区别 (我所知道的是他们习惯将某些forms的数据从控制器传递到视图)并且可能告诉我应该在什么情况下使用ViewData而不是ViewModel,反之亦然 提前致谢! 出击

将模型对象传递给RedirectToAction而不会污染URL?

这是我正在尝试做的事情: public ActionResult Index() { return View(); } [HttpPost] public ActionResult Index(ContactModel model) { if (ModelState.IsValid) { // Send email using Model information. return RedirectToAction(“Gracias”, model); } return View(model); } public ActionResult Gracias(ContactModel model) { return View(model); } 所有三种操作方法都在同一个控制器中。 基本上,用户在联系表单中键入一些数据,我想使用他们在Model对象中的名称将它们重定向到感谢页面。 代码是,它可以工作,但URL与GET变量一起传递。 不理想。 http://localhost:7807/Contacto/Gracias?Nombre=Sergio&Apellidos=Tapia&Correo=opiasdf&Telefono=oinqwef&Direccion=oinqef&Pais=oinqwef&Mensaje=oinqwef 有什么建议?

将多个结果集传递给ASP.NET MVC中的控制器的视图?

所以我有一个控制器设置如下: using NonStockSystem.Models; namespace NonStockSystem.Controllers { [Authorize(Users = “DOMAIN\\rburke”)] public class AdminController : Controller { private NonStockSystemDataContext db = new NonStockSystemDataContext(); public ActionResult Index() { var enumProducts = from p in db.Products select p; ViewData[“Title”] = “Administration”; return View(enumProducts.ToList()); } } } Admin控制器上的Index视图只列出系统中的产品,并允许我们单击产品以查看/编辑/删除它。 真的很简单。 但是,每个产品都有一个CategoryID,它告诉我们哪个类别存储在一个单独的表中。 (非常简化的)当前视图是这样的: (<a href="https://stackoverflow.com/Admin/Edit/”>Edit – <a href="https://stackoverflow.com/Admin/Delete/”>Delete) 目前这很好,因为系统中只有10或15个产品,而我开发和测试它然而,一旦我部署它将有大约。 数据库中有300个产品。 我很好地将它们全部显示在一个页面上但是我想使用(一个href =“#category”)链接很像维基百科这样做在页面顶部我可以有类别列表,当你点击一个它带你到页面的适当部分。 […]

哎呀! 为什么System.Web.Mvc.HandleErrorInfo会传递给我的视图?

我遇到了一个相当令人沮丧的问题。 我的MVC网站大部分运行正常,但随机抛出一个错误(向用户显示一个友好的错误)。 当我检查日志时,这就是我得到的: System.InvalidOperationException: The model item passed into the dictionary is of type ‘System.Web.Mvc.HandleErrorInfo’ but this dictionary requires a model item of type ‘BaseViewData’. 片刻之后,同一个用户可以点击刷新并且页面加载正常。 我被卡住了。 ( 更新:添加堆栈跟踪 System.Web.HttpUnhandledException: Exception of type ‘System.Web.HttpUnhandledException’ was thrown. —> System.InvalidOperationException: The model item passed into the dictionary is of type ‘System.Web.Mvc.HandleErrorInfo’ but this dictionary requires a model […]

ASP.NET MVC – 来自控制器代码的当前动作?

这与最近的另一个问题非常相似: 如何在ASP.NET MVC视图中返回当前操作? 但是,我想从控制器代码中获取当前操作的名称。 因此,在Action调用的函数代码中,我想获取当前Action名称的字符串。 这可能吗?

在MVC中将值从Controller传递给View

我有一个使用数据脚手架生成的视图。 该视图有一个文本字段: 创建视图: @Html.LabelFor(model => model.GroupId, htmlAttributes: new { @class = “control-label col-md-2” }) @Html.EditorFor(model => model.GroupId, new { htmlAttributes = new { @class = “form-control” } }) @Html.ValidationMessageFor(model => model.GroupId, “”, new { @class = “text-danger” }) 我想将控制器中的值传递给此文本字段。 我做了以下,似乎没有用。 控制器: public ActionResult Create(int id) { ViewBag.GroupId = id; Debug.WriteLine(“DEBUG: “+id); return View(); }

不允许子操作执行重定向操作。 (使用PartialViews)

我正在尝试使用数据库中的一些数据加载我的部分视图,但是当我运行应用程序时,我遇到了以下问题: 不允许子操作执行重定向操作。 我不知道为什么会这样,因为我对MVC技术很新。 这是控制器中的PartialViewResult方法: public PartialViewResult UnReadEmails() { if (User.Id != null) { List resultList = EmailController.GetUnreadEmailsByUserId(User.Id); return PartialView(“~/Views/Emails/_UnReadEmails.cshtml”, resultList); } return PartialView(“Error, not found!”); } 这是我的部分视图本身,它被称为_UnReadEmails(你可以看到我在这里显示有关发件人和电子邮件正文的信息),PartialView正在检索我从我的控制器发送的电子邮件列表 @model IEnumerable foreach (var item in Model) { @item.EmailSender @item.Body; } 在我尝试以这种方式加载我的局部视图后: @Html.Action(“UnreadEmails”, “Message”) 我开始收到我在标题中提到的以下问题, 我已经尝试过几件事来解决这个问题,例如将@Html.Action(“UnreadEmails”, “Message”)更改为@Url.Action(“UnreadEmails”, “Message”)等等,但这并没有解决我的问题。 编辑:它总是打破这一行(在视图上): @Html.Action(“UnreadEmails”, “Message”) 它永远不会进入代码背后.. 在Chris建议之后,我在方法的顶部添加了[AllowAnonymous] : [AllowAnonymous] public PartialViewResult UnReadEmails() […]

来自另一个类库的基本控制器在web api中不起作用

我有两个Web API项目,我有一个MarketController ,我需要扩展Api控制器,所以我做到了。 我创建了一个BaseController类,并inheritance自ApiController如下所示: public class BaseController:ApiController { } 到目前为止一切顺利,它运作良好: public class MarketController : BaseController { public MarketController() : base() { } // GET api/ public IEnumerable Get() { return new string[] { “value1”, “value2” }; } } 但我想在另一个名为BLL类库中执行此操作,因此我将BaseController类移动到BLL类库,并在Web API项目中引用它。 当我这样做时,api停止了工作。 回应是: { “Message”: “No HTTP resource was found that matches the request URI someurl/api/market.”, […]