我有一个ASP.Net MVC 3的Web应用程序,我正在添加一个checkbox使用HtmlHelper类的视图页面,像这样… @Html.CheckBox("CheckBox1", true, new { @class = "Class1" }) 我想要做的是有条件地添加基于视图状态属性的禁用属性。 基本上下面是理想的… @Html.CheckBox("CheckBox1", true, new { @class = "Class1", @disabled = Model.ReadOnly }) 不幸的是,由于禁用属性的性质,这将无法正常工作,因为任何分配给被禁用属性的值(甚至“false”)都将被翻译为true。 我已经想到了解决这个问题的一些解决scheme,所以问题不是我怎么能做到这一点。 但是,有没有像上面所需的方法一个简单的方法? 还是我不得不诉诸以下之一? 我知道我可以做… 创build一个if / else语句并写入不同的Html.CheckBox行(不是很好的可读性 – 可能抛出一个标记警告 – 不知道) 跳过HtmlHelper类并手写标签,以允许更好的条件属性(保持代码更短,但添加不一致) 创build一个自定义的助手,它需要一个“禁用”参数(最干净的解决scheme,但需要不必要的额外方法 – 尽pipe目前为止可能是最好的select)
使用Visual Studio 2012,在Razor视图页面的JavaScript部分,我得到了我认为是Razor语法与JavaScript语法之间的争斗。 尤其是,脚本部分的尾部分号由智能感知标记,并提供编译器警告(不是错误): '警告13语法错误'。 如果我删除它,那么我得到一个声明终止build议( ReSharper在这种情况下,但只是良好的做法)。 <script type="text/javascript"> $().ready(function(){ var customer = @Html.Raw(ViewBag.CustomerJSON); // <- Razor (I think) doesn't like this semicolon }); </script> 这是Razor中的一个错误吗? 如果是的话,有没有办法可以重写这个来避免这个问题呢?
我有一个现有的数据库与用户表,我们正在计划采取数据库,并将其用于在ASP.NET MVC中build立一个新的系统。 但是,我不确定是否能够创build一个不使用内置帐户控制器或常规成员资格提供程序的login系统,以便我们仍然可以使用现有的表结构。 所以我的问题是,这可能吗? 如果是,甚至特别难做? 什么是最广泛接受的做事方式和最简单的?
我正在使用ASP.NET MVC 4 。 我正试图从一个控制器传递数据到另一个控制器。 我没有得到这个权利。 我不确定这是否可能? 以下是我想要传递数据的源操作方法: public class ServerController : Controller { [HttpPost] public ActionResult ApplicationPoolsUpdate(ServiceViewModel viewModel) { XDocument updatedResultsDocument = myService.UpdateApplicationPools(); // Redirect to ApplicationPool controller and pass // updatedResultsDocument to be used in UpdateConfirmation action method } } 我需要将其传递给此控制器中的此操作方法: public class ApplicationPoolController : Controller { public ActionResult UpdateConfirmation(XDocument xDocument) { // […]
这里有一个很好的问题: 如何将Web API添加到现有的ASP.NET MVC 4 Web应用程序项目中? 不幸的是,这是不足以解决我的问题。 我已经试了两次,以确保我没有做错任何事情。 我右键单击“控制器”,添加项目“Web API 2控制器与动作,使用entity framework”,我select我的模型类和数据库上下文。 一切都很好…但仍然…每次我试图访问/ api /rest我得到一个404错误(我的控制器的名字是RestController)。
如果问题不明确。 我在一个解决scheme中有3个MVC项目。 每当我创build一个新的项目,它添加了“脚本”文件夹,所有的.js文件,我将永远需要。 我不想每次都为每个应用程序创build这个。 有没有办法从解决scheme中的一个中央文件夹引用脚本,这样所有的应用程序/项目都可以共享一个通用的脚本文件夹,其中包含所有的脚本? 编辑: 请解释这样做的利弊如果有任何…现在我很好奇。
我有一个模型类,像这样的属性: [Display(Name = "Phone", Description="Hello World!")] public string Phone1 { get; set; } 在我的视图中显示一个标签并渲染一个文本框是非常简单的: @Html.LabelFor(model => model.Organization.Phone1) @Html.EditorFor(model => model.Organization.Phone1) @Html.ValidationMessageFor(model => model.Organization.Phone1) 但是,如何呈现Description注释属性的值,即“Hello World!”?
我怎么能检查用户是否login用户控制与asp.net mvc 通常在一个视图页上我使用这个 <% if (User.Identity.IsAuthenticated) {%> //Do something <% } %> 但是我不能在用户控件上完成这个工作
我试图通过使用Viewbag传递一个表单元素到一个MVC3视图,只需将HTML写入页面… 在控制器中: ViewBag.myData = "<input type=""hidden"" name=""example"" value=""examplevalue"">"; 鉴于(我知道我可以使用一个帮手的forms): <form action="http://exampleurl/examplepage" method="post" id="example-form"> @ViewBag.myData <input type="hidden" name="anotherexample" value="anotherexamplevalue" /> </form> 这会将myData作为HTML中的文本呈现: <type="hidden" name="example" value="examplevalue"> 所以我的问题是如何让剃刀做相当于旧的: <%= myData %> 而不是replace<> 谢谢Paul
可能重复: MVC学习资源 我想提高我对MVCdevise模式的理解,因为我将来可能会使用它(我的工作主要集中在开发.NET Web应用程序)。 我可以请求这个社区帮我find这个问题的起点吗? 文章,白皮书,代码示例,理论…任何你发现有用的!