Tag: razor

MVC4 – 如何从剃刀视图调用控制器方法

我是MVC的新手,有人可以帮助我并解释如何从视图中调用控制器方法。 我有HomeController,里面有方法ShowFileContent()。 [HttpPost] public ActionResult ShowFileContent() { string filepath = Server.MapPath(“\\Files\\Columns.txt”); try { var lines = System.IO.File.ReadAllLines(filepath); foreach (var line in lines) { ViewBag.FileContent += line + “\n”; } } catch (Exception exc) { ViewBag.FileContent = “File not found”; } return View(); } 在内部视图中我试图用下面的代码调用此方法,但它不起作用。 @using (Html.BeginForm(“ShowFileContent”, “Home”)) { } @Html.Raw(ViewBag.FileContent.Replace(“\n”, “”)) 我收到错误:找不到视图’ShowFileContent’或其主人,或者没有视图引擎支持搜索的位置。 我做错了什么,从剃刀视图调用方法的最佳方法是什么?

尝试从部分视图中将JS和CSS添加到MVC 3 Razor网站中的布局文件中

我目前使用的方法类似于以下代码,将脚本和css文件添加到布局文件的头部。 public static class HtmlHelperExtensions { public static MyCompanyHtmlHelpers MyCompany(this HtmlHelper htmlHelper) { return MyCompanyHtmlHelpers.GetInstance(htmlHelper); } } public class MyCompanyHtmlHelpers { private static MyCompanyHtmlHelpers _instance; public static MyCompanyHtmlHelpers GetInstance(HtmlHelper htmlHelper) { if (_instance == null) _instance = new MyCompanyHtmlHelpers(); _instance.SetHtmlHelper(htmlHelper); return _instance; } private HtmlHelper _htmlHelper; public ItemRegistrar Styles { get; private set; } public […]

如何读取html帮助元素的名称

在mvc中是否有机会读取将被分配给html控件的名称? 例如,我使用此代码: @Html.LabelFor(x => x.Name) @Html.TextBoxFor(x => x.Name) @Html.ValidationMessageFor(x => x.Name) @Html.HiddenFor(x => x.Id) I want to display here a TextBox name 我想得到一个输入名称的名称。 此代码是局部视图的片段。 元素名称看起来像children [1] .Name

在.NET MVC中,是否有一种简单的方法来检查我是否在主页上?

如果用户从主页登录,我需要采取特定操作。 在我的LogOnModel中,我有一个隐藏字段: @Html.Hidden(“returnUrl”, Request.Url.AbsoluteUri) 在我的Controller中,我需要检查该值是否为主页。 在下面的示例中,我正在检查用户是否在特定页面上(“Account / ResetPassword”)。 有没有办法检查他们是否在主页上而不诉诸正则表达式? [HttpPost] public ActionResult LogOnInt(LogOnModel model) { if (model.returnUrl.Contains(“/Account/ResetPassword”)) { return Json(new { redirectToUrl = @Url.Action(“Index”,”Home”)}); } 有任何想法吗? 一百万谢谢!

为什么“Dispose”工作,而不是“使用(var db = new DataContext())”?

我正在创建一个由主题组成的论坛,这些主题由消息组成。 当我尝试在我的控制器中实现主题视图时: public ActionResult Topic(int id) //Topic Id { using (var db = new DataContext()) { var topic = db.Topics.Include(“Messages”).Include(“Messages.CreatedBy”).Include(“CreatedBy”).FirstOrDefault(x => x.Id == id); //include the messages for each topic, and when they were created so that the last message can be displayed on the topic page return topic != null ? View(topic) : View(); […]

MVC DropDownListFor Null值

我在使用MVC中的htmlhelper下拉列表时遇到问题。 发布回发时,没有选择任何内容,列表的模型中的值和所选项目为空。 这是我的模特: namespace MvcTestWebApp.Models { public class Customer { public string name { get; set; } public List members { get; set; } public Member selected { get; set; } } public class Member { public string name { get; set; } } } 控制器: namespace MvcTestWebApp.Models { public class CustomerController : Controller { […]

如何从ASP.NET 4.0 Web应用程序中禁用/删除WebPageHttpModule?

我正在尝试使用我的通配符http处理程序来处理* .cshtml页面,但请求永远不会到达我的处理程序,因为它看起来像是被我发现通过此StackTrace存在的WebPageHttpModule拦截: [HttpException (0x80004005): Exception of type ‘System.Web.HttpException’ was thrown.] System.Web.WebPages.ApplicationStartPage.ExecuteStartPage(HttpApplication application, Action`1 monitorFile, Func`2 fileExists, Func`2 createInstance, IEnumerable`1 supportedExtensions) +88 System.Web.WebPages.ApplicationStartPage.ExecuteStartPage(HttpApplication application) +287 System.Web.WebPages.WebPageHttpModule.StartApplication(HttpApplication application, Action`1 executeStartPage, EventHandler applicationStart) +113 System.Web.WebPages.WebPageHttpModule.StartApplication(HttpApplication application) +71 System.Web.WebPages.WebPageHttpModule.Init(HttpApplication application) +156 System.Web.HttpApplication.RegisterEventSubscriptionsWithIIS(IntPtr appContext, HttpContext context, MethodInfo[] handlers) +431 System.Web.HttpApplication.InitSpecial(HttpApplicationState state, MethodInfo[] handlers, IntPtr appContext, HttpContext context) +194 System.Web.HttpApplicationFactory.GetSpecialApplicationInstance(IntPtr appContext, […]

获取当前页面URL而不使用查询参数 – Razor Html帮助程序?

Razor中是否有一个方法返回当前页面URL而不使用查询参数。 我需要把它推到我作为字符串创建的HTML帮助器方法中。 @Url似乎不起作用,如果我这样做.ToString()我只是得到命名空间LOLLL 剃刀使用: Html帮手: public static MvcHtmlString SortTableClickEvent(this HtmlHelper html, string url, string column) { StringBuilder sortingPropertiesObject = new StringBuilder(); sortingPropertiesObject.Append(“var properties = new James.prototype.Table.SortingProperties();”); sortingPropertiesObject.Append(“properties.url = \”” + url + “\””); sortingPropertiesObject.Append(“properties.colName = \”” + column + “\””); string clickEvent = “onclick = James.Table.SortByColumn(properties, this);”; return MvcHtmlString.Create(sortingPropertiesObject + clickEvent); } 什么输出到我的HTML: Name

格式化DateTime错误“模板只能用于字段访问,属性访问,单维数组索引..”

在MVC Razor视图中,我试图格式化DateTime字段以仅显示时间。 使用下面的代码我收到错误“模板只能用于字段访问,属性访问,单维数组索引或单参数自定义索引器表达式。” @(Html.DisplayFor(m=>row.LastUpdatedDate.ToString(“HH:mm:ss”))) 任何帮助请问是什么导致此错误以及如何解决它? 谢谢你的帮助。

从ASP.NET MVC中的表单发布到另一个模型

如果我有一个有模型的视图,那就说Car .. @model Project.Car 在该视图中,我想创建一个将数据发送到新模型的表单 @using (Html.BeginForm(“Add”, “Controller”)) { @Html.Hidden(“ID”, “1”) @Html.Hidden(“UserID”, “44”) @Html.TextArea(“Description”) } 我注意到如果我的动作是用我的ViewModel定义的,它就不起作用(模型总是为null): [HttpPost] public PartialViewResult Add(ViewModels.NewModel model) 但是,如果我使用FormCollection它可以工作: [HttpPost] public PartialViewResult Add(FormCollection formCollection) 这是ViewModel: public class NewModel { public int ID { get; set; } public int UserID { get; set; } public string Description { get; set; } } 我的问题是我可以从表单中将数据发布到NewModel吗? […]