我已经在一个MVC应用程序中获得了一个简单的表单。 它包含一个文件字段,用户可以上传图像。 这一切都很好。 问题是,如果表单提交失败validation文件字段的内容丢失(其他字段仍然填充,thtml HtmlHelpers!)。 validation失败后,如何保持文件字段填充? TIA!
是否有可能在控制器中使用HtmlHelper,例如获取TextBox(…)方法? 不是我不能写自己生成的html,但我只是想了解这是如何工作的,所以我可以创build最好的解决scheme。 提前致谢!
在MVC3项目中,我有一个“_Layout.vbhtml”文件与此代码 <!DOCTYPE html> <html> <head> </head> <body> … <script src="@Url.Content("~/Scripts/jquery-1.8.2.min.js")"></script> @RenderSection("Scripts", false) </body> </html> 然后,我在Shared文件夹中使用了部分视图“ValidationScripts.vbhtml” @Section Scripts <script src="@Url.Content("~/Scripts/jquery.validate.min.js")"></script> <script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js")"></script> <script src="@Url.Content("~/Scripts/jquery.validate.fix.js")"></script> <script src="@Url.Content("~/Scripts/localization/messages_de.js")"></script> End Section 如果我从这样的视图调用部分视图… @ModelType MvcExample.MyModel @Code ViewData("Title") = "Test" End Code @Html.Partial("ValidationScripts") <h2>Just a Test</h2> … “脚本”部分不在页面上呈现,并且输出的HTML是 <!DOCTYPE html> <html> <head> </head> <body> … <script src="@Url.Content("~/Scripts/jquery-1.8.2.min.js")"></script> </body> </html> 我如何渲染部分视图中的部分?
说如果我在我的分贝:产品有这张桌子 它有过 ProductId ProductName ProductType 现在无论什么原因,我不能命名我的文本框ProductName和ProductType,所以现在我的View Method看起来像这样 public ViewResult Test([Bind(Exclude ="ProductId")] Product) 所以现在通过我的游戏,没有什么东西会匹配在这个产品,因为他们有不同的名字。 所以我想这是前缀会进来,但我不知道如何使用它。 我怎么使用它和排除在同一时间。 有人能给我一个例子吗?
如果我想要一个表单中的一组input绑定到MVC 4中的List ,我知道input name属性的以下命名约定将工作: <input name="[0].Id" type="text" /> <input name="[1].Id" type="text" /> <input name="[2].Id" type="text" /> 但我很好奇如何原谅模型活页夹。 例如,以下内容: <input name="[0].Id" type="text" /> <input name="[3].Id" type="text" /> <input name="[8].Id" type="text" /> 模型活页夹如何处理? 它会绑定到一个长度为9的List ,用空值吗? 或者它还会绑定到长度为3的List ? 或者它会完全窒息? 为什么我在乎 我想实现一个dynamic的表单,用户可以在表单中添加行,也可以从表单中删除行。 所以,如果我用户从8行总共删除第2行,我想知道是否需要重新编号所有后续input。
我想从我的URL中删除控制器名称(对于一个特定的控制器)。 例如: http://mydomain.com/MyController/MyAction 我想这个url被改为: http://mydomain.com/MyAction 我将如何去做这个在MVC? 我正在使用MVC2,如果这有助于我。
我已经设置了一个全局filter,用于打开和closuresNHibernate会话的所有控制器操作。 95%的这些行动需要一些数据库访问,但是5%不需要。 有没有简单的方法来禁用这5%的全球filter。 我可以倒过来装饰只需要数据库的行动,但这将是更多的工作。
我正在尝试执行一个跨域POST请求到ASP.NET MVC控制器操作。 这个控制器动作接受并使用各种参数。 问题是,当预检请求发生时,控制器动作实际上试图执行&因为OPTIONS请求不传递任何数据,控制器动作抛出一个500 HTTP错误。 如果我删除使用该参数的代码或参数本身,则整个请求链将成功完成。 这是如何实现的一个例子: 控制器行动 public ActionResult GetData(string data) { return new JsonResult { Data = data.ToUpper(), JsonRequestBehavior = JsonRequestBehavior.AllowGet }; } 客户端代码 <script type="text/javascript"> $(function () { $("#button-request").click(function () { var ajaxConfig = { dataType: "json", url: "http://localhost:8100/host/getdata", contentType: 'application/json', data: JSON.stringify({ data: "A string of data" }), type: "POST", success: […]
这是我的第一个问题,可能是一个很差的,所以请温柔。 最近在我的第一个ASP.Net MVC2 web应用程序上工作,当我需要在列表框中select多个值时,遇到了一些问题。 我用一些jQuery解决了这个问题,但是继续做了一些非常简单的代码来演示。 我使用EF作为模型,有两个实体 – Customers和HelpDeskCalls: 控制器: public ActionResult Edit(int id) { Customer currCustomer = ctx.Customers.Include("HelpDeskCalls").Where(c => c.ID == id).FirstOrDefault(); List<HelpDeskCall> currCustCalls = (ctx.HelpDeskCalls.Where(h => h.CustomerID == id)).ToList(); List<SelectListItem> currSelectItems = new List<SelectListItem>(); List<String> selectedValues = new List<string>(); foreach (HelpDeskCall currCall in currCustCalls) { bool isSelected = (currCall.ID % 2 == 0) ? […]
我有一个JavaScript函数的.csHtml -razor文件,它使用@Url.Content C#函数里面的ajax URL。 我想将该函数移动到从我的视图引用的.js文件。 问题是,JavaScript不“知道” @符号,并不parsingC#代码。 有没有办法引用.js文件从视图与“@”符号?