Tag: model view controller

将模型传递给局部视图?

这是我的偏见: @model RazorSharpBlog.Models.MarkdownTextAreaModel @Html.TextAreaFor(m => m.Name, new { @id = “wmd-input-” + @Model.Name, @class = “wmd-input” }) 我试图在我的View包含它: @using (Html.BeginForm()) { @Html.LabelFor(m => m.Title) @Html.TextBoxFor(m => m.Title) @Html.Partial(“MarkdownTextArea”, new { Name = “content” }) } 这些是模型类: public class MarkdownTextAreaModel { [Required] public string Name { get; set; } } public class BlogContentModel { [Required] [Display(Name […]

为MVC生成Resx文件

我们使用resx文件进行全球化,以及我们的CS工作人员可以配置的事物的数据库查找(例如选项卡名称,可能因产品而异),因此在设计时不知道。 我创建了一个自定义工具,它读取resx文件并智能地将键/值对转储到关系数据库中(匹配值,因此我们没有重复项)。 这对我们的业务有很大帮助 – 我们不必发送每个resx进行翻译(并支付共享单词的重复翻译),我们的所有翻译都有一个’黄金标准’(在数据库中)。 我创建的工具还读取数据库,获取键/值对和每个值的翻译,并为每个resx文件(以及每种语言的文本文件的翻译)创建文本文件并自动运行resgen.exe,一个命令Visual Studio附带的-line工具,用于从生成的文本文件中编译resx文件。 我没有任何源代码控制集成,因此我们必须手动签出resx文件并在使用该工具时手动签入生成的文件,但这不是一个大问题。 我的问题是这个方法对我们的新MVC项目失败了:MVC项目要求resx文件是嵌入式资源,其访问修饰符为“public”。 因此,我们一直在手工解决这个问题,这引入了人为错误的可能性并增加了一些非常重要的工作量。 有没有办法让resgen.exe创建嵌入和公共的资源文件? 如果没有,是否有另一种方法可以创建resx文件? 更新,附加问题:我们使用此方法生成的resx文件也会发出警告: A custom tool ‘PublicResXFileCodeGenerator’ is associated with file ‘(resxname)’, but the output of the custom tool was not found in the project. You may try re-running the custom tool by right-clicking on the file in the Solution Explorer and choosing Run Custom […]

发送HTTP标头后,服务器无法附加标头

下面显示的是我创建CSV文件后的代码,我想下载文件,所以我使用下面的代码。 但它的抛出错误“服务器无法在HTTP标头发送后附加标头”在“Response.AddHeader(”内容配置“,”附件;文件名=“+ fileCSV +”\“”);“地点。它的下载但浏览器不会重定向到同一页面。 string[] header = { “Error Occurred On”, “Controller Name”, “Action Name”, “Exception Occurred”, “Stack Trace Description”, “InnerException Occurred”, “Stack Trace InnerException Occurred ” }; 代码: DataTable dt = new DataTable(); for (int e = 0; e < header.Length; e++) { dt.Columns.Add(header[e], typeof(string)); } StringBuilder sb = new StringBuilder(); IEnumerable columnNames = […]

任何人都有C#MVC的出生日期validation属性?

有人必须在此之前写过:-) 我需要一个出生日期的validation属性来检查日期是否在特定范围内 – 即用户尚未输入尚未发生的日期或过去150年。 感谢您的任何指示!

如何修复HTTP错误500.22 – 内部服务器错误检测到的ASP.NET设置不适用于集成管理管道模式

我学习了Http modules ,在上次尝试中我得到了: HTTP错误500.22 – 内部服务器错误检测到的ASP.NET设置不适用于集成管理管道模式。 建议的解决方案之一是: 从IIS Express安装目录中,运行appcmd migrate config“Default Web Site /”。 所以从命令提示符我去了C\Program Files\IIS Express然后我执行了: appcmd migrate config “Default Web Site/” 我收到命令“对象配置”不支持“迁移”。 怎么做得好?

C#MVC:如何覆盖已配置的身份validation重定向?

我在Web.config中有一个带有以下块的MVC应用程序: 因此,如果用户请求页面并且授权失败,它们将被重定向到〜/ Login。 那很好,我需要大多数控制器。 但是,我有一个控制器,我想绕过这个规则。 如何允许特定控制器忽略此规则? 我的问题是在我的MVC应用程序(有几个控制器)中,我有一个控制器,它承载一个REST接口(不适合浏览器使用)。 由于此控制器不适合浏览器使用,我不希望它发送回整个登录页面(或任何实际的页面,只是字符串或部分视图。) 请注意,我在我的操作中使用自定义[授权…]属性,当这些属性失败时,它们会重定向到错误操作 – 但不幸的是, 我的错误操作(返回一个短字符串)被重定向到登录页面因为此配置设置! 我试图弄明白这一点,头晕,我做错了什么? 如有必要,我可以提供更多细节。

在我的视图中复选框中带有mvc渲染的枚举,我的控制器的反应?

如果我在View中有一个复选框列表,这个列表来自Enum(flags)。 如果我的复选框名称相同,我的控制器是否会自动更新我的ViewModel中的Enum(flags)值并进行多项选择? 假设我进入了我的视图 <input type="checkbox" name="TypeOfFood" value="” /> 我的控制器像这样工作 public ActionResult Manage(FoodEntity food) { } 如果我查看了许多复选框,当我在foodEntity中查看FoodType属性时,只选择了第一个复选框的值,但我的枚举是一个标志…我需要什么,如果我想要支持标志? 谢谢。

如何实现UI独立应用程序?

使C#源代码UI的大部分内容独立的基本技术是什么? 例如,我想为Winforms桌面应用程序编写我的源代码,我将能够插入到asp.net Web应用程序或WPF应用程序中进行非常小的更改。 即,无论UI技术如何,我都可以使用相同的源代码,以使其面向未来。 我知道CSLA框架可以做到这一点。 但是,如果我不使用CSLA(学习一个新的框架需要一些时间,而且目前我没有那么多时间花在它上面),应该注意什么点来实现我的这种能力。 C#代码? 能给我举个例子? 我已经在我的应用程序中使用了Business Objects和分层技术。 但即便如此,我已经看到它需要大量编码才能将我的代码插入到新的UI技术中。 请不要向我提供任何肤浅的答案。

在MVC应用程序中显示/编辑xml

我需要在SQL数据库中维护一个xml列。 a)在我的详细信息页面中 – 我只想将此列显示为“漂亮”的xml – 就像浏览器一样。 因此,而不是一个大块的xml(例如onetwothreesomething else> )我希望它与新行上的每个新标签分开(例如 one two three something else> 和 b)在我的编辑页面中,我想要一个简单的表单,标签为标题(例如粗体),节点值为可编辑的文本框 – 但我希望这是从xml本身动态创建的。 我不想在代码中硬编码标签标签,而是循环遍历xml并动态获取它们。 我使用c#.net作为我的MVC应用程序,Sql Server作为数据库和LINQ to SQL。

使用formsauthentication进行登录并使用HttpContext.Current.User.Identity

我创建了一个包含剃刀forms页面的网站。 用户可以登录此表单,然后重定向到其他页面。 登录(和注销)成功地与formsauthentication一起使用。 但是,我似乎无法使用HttpContext.Current.User.Identity.Name来检索存储的用户名(在formsauthentication cookie中)。 它返回一个空字符串“”。 我使用的是MVC 5和ASP 4.5,没有标准的成员资格或角色提供者。 登录: [HttpPost] public ActionResult Login(User user) { if (ModelState.IsValid) { bool authenticated = userscontroller.isAuthorized(user.Email, user.Password); if (authenticated) { if (userscontroller.isAuthenticated()) { userscontroller.deAuthenticateUser(); } userscontroller.authenticateUser(user); return Redirect(Url.Action(“Index”, “Home”)); } } } validation用户: public void authenticateUser(User user) { FormsAuthentication.SetAuthCookie(user.Username, false); } 然后获取用户的名称: public User userFromCookie() { if (isAuthenticated()) […]