小编mar*_*ind的帖子

如何向Razor页面添加额外的命名空间而不是@using声明?

我需要使用某种魔法来获取pages/namespaceswebconfig中元素的名称空间吗?

<pages>
    <namespaces>
        <add namespace="System.Web.Mvc"/>
        <add namespace="System.Web.Mvc.Ajax"/>
        <add namespace="System.Web.Mvc.Html"/>
        <add namespace="System.Web.Routing"/>
        <add namespace="System.Web.WebPages"/>
        <add namespace="System.Web.Helpers"/>
        <add namespace="MyCustomHelpers"/>
    </namespaces>
</pages>
Run Code Online (Sandbox Code Playgroud)

以上只是想要的工作.我知道命名空间很好,因为当我把它@using MyCustomHelpers放在页面的顶部时它神奇地起作用.

这样我就可以在Html.SomeFunction()不必将@using所有页面放在首位的情况下开始工作

razor asp.net-mvc-3

146
推荐指数
3
解决办法
5万
查看次数

Razor语法是否在UI标记中提供了引人注目的优势?

我注意到斯科特·格思里已经开始提剃须刀一个公平位在他的博客,但我只是不那么肯定,这是一个很适合我的风格.

对于那些习惯于"标准"类型的ASP.Net标记(内容占位符和内联代码)的人来说,这是一种相当陌生的风格,但它只是感觉要管理很多其他页面,而且对我来说标记不太清晰.

其他人的感受是什么?在构建新的MVC页面时,或者它只是试图解决不存在的问题时,您认为应该认真考虑的事情是什么?

syntax asp.net-mvc markup razor asp.net-mvc-3

88
推荐指数
1
解决办法
2万
查看次数

如何在Razor视图文件中使用通用语法?

我试图使用以下语句:

@Html.Test<ISQL>().Nand()
Run Code Online (Sandbox Code Playgroud)

然而,Razor在ISQL之前窒息.

任何正式的工作吗?

asp.net-mvc razor asp.net-mvc-3

69
推荐指数
4
解决办法
1万
查看次数

验证asp.net mvc中的下拉列表

//in controller
ViewBag.Categories = categoryRepository.GetAllCategories().ToList();

//in view
 @Html.DropDownList("Cat", new SelectList(ViewBag.Categories,"ID", "CategoryName"))
Run Code Online (Sandbox Code Playgroud)

如何制作它以便默认情况下显示"-Select Category-"

并验证检查选择的内容(客户端和模型)

谢谢

c# asp.net-mvc razor

37
推荐指数
2
解决办法
10万
查看次数

实体框架:无效的列名称'OrganizationStructure_ID'

我得到:错误:列名称'OrganizationStructure_ID'无效.

    public OrganizationStructure()
    {
        ChildrenItems = new HashSet<OrganizationStructure>();
        InputDate = DateTime.Now;
    }

    public int ID { get; set; }
    public string Name { get; set; }

    public virtual int? ParentID { get; set; }
    public int OrganizationID { get; set; }
    public int OrganizationTypeID { get; set; }
    public int OrganizationActivityID { get; set; }
    public int OrganizationLocationID { get; set; }

    public string AddRemark { get; set; }
    public int UserId { get; set; }
    public DateTime InputDate { …
Run Code Online (Sandbox Code Playgroud)

entity-framework

36
推荐指数
2
解决办法
5万
查看次数

如何使用Asp.Net MVC 3和Razor查看特定于视图的<head>内容?

除了已经在_Layout.cshtml中链接的内容之外,我还希望链接某些视图中的特定样式表.对于非剃刀,我看到使用内容占位符.我怎么为Razor做这个?

stylesheet razor asp.net-mvc-3

32
推荐指数
1
解决办法
7949
查看次数

T4MVC @ Url.Action(MVC.Controller.Action())在QueryString中呈现"?Area ="参数

我正在使用Partial Action将菜单直接渲染到布局,使用:

@Html.Action(MVC.Menu.Index())
Run Code Online (Sandbox Code Playgroud)

此操作确定要呈现的部分Menu.例如,公共菜单部分.在这些部分中,我也使用T4MVC来渲染链接:

<ul id="navHolder">
<li class="level1">
    <ul class="mainMenu">
        <li><b>@Html.ActionLink("Welcome", MVC.Home.Index())</b>
           ... 
Run Code Online (Sandbox Code Playgroud)

出于某种原因,T4MVC呈现的网址最后包含"?Area =":

 <ul id="navHolder">
    <li class="level1">
        <ul class="mainMenu">
            <li><b><a href="/home/index?Area=">Welcome</a></b>
               ...
Run Code Online (Sandbox Code Playgroud)

我的项目中没有区域,我将"IncludeAreasToken"设置为false.奇怪的是,只有当我使用"@ Html.Action"渲染局部时才会发生这种情况 - 如果我将其拉入"@ Html.Partial",则不会渲染参数并且链接是干净且正确的.(我不想把它渲染为部分,所以请不要提供它作为建议;)

以前有人遇到这个吗?

asp.net-mvc t4mvc

21
推荐指数
2
解决办法
5269
查看次数

ASP.NET MVC 3 HtmlHelper异常无法识别继承接口上的ModelMetadata

升级到MVC 3 RTM后,我得到了一个以前工作的例外.

这是场景.我有几个使用相同底层接口IActivity和IOwned的对象.

IActivity implements IOwned (another interface)

public interface IActivity:IOwned {...}

public interface IOwned 
{
    int? AuthorId {get;set;}
}
Run Code Online (Sandbox Code Playgroud)

我有一个局部视图,它使用IActivity从其他具体的部分重用.

以下是Activity Partial的定义.

<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<IActivity>" %>
<%: Html.HiddenFor(item => item.AuthorId) %>
Run Code Online (Sandbox Code Playgroud)

但是,它会引发异常.它在ModelMetadata中找不到AuthorId.

我猜测在之前的版本中它查看了IActivity实现的接口.

任何想法,建议,到处都没有重复类似的接口?

复制下面的堆栈跟踪.

[ArgumentException: The property IActivity.AuthorId could not be found.]
   System.Web.Mvc.AssociatedMetadataProvider.GetMetadataForProperty(Func`1 modelAccessor, Type containerType, String propertyName) +498313
   System.Web.Mvc.ModelMetadata.GetMetadataFromProvider(Func`1 modelAccessor, Type modelType, String propertyName, Type containerType) +101
   System.Web.Mvc.ModelMetadata.FromLambdaExpression(Expression`1 expression, ViewDataDictionary`1 viewData) +393
   System.Web.Mvc.Html.InputExtensions.HiddenFor(HtmlHelper`1 htmlHelper, Expression`1 expression, IDictionary`2 htmlAttributes) +57
   System.Web.Mvc.Html.InputExtensions.HiddenFor(HtmlHelper`1 htmlHelper, Expression`1 expression) +51
   ASP.views_shared_activity_ascx.__Render__control1(HtmlTextWriter …
Run Code Online (Sandbox Code Playgroud)

asp.net html-helper modelmetadata asp.net-mvc-3

18
推荐指数
5
解决办法
4913
查看次数

ASP.NET MVC 3 RC AreaRegistration.RegisterAllAreas()和动态加载的程序集

我目前正在尝试使用ASP.NET MVC 3 RC动态加载区域.我已经看到它写在许多地方,这不是那些区域的目的,并且(至少预MVC 2)不可能,例如在这里说.

但是还是!它应该可以让它工作,对吧?我创建了一个解决方案,添加了一个MVC 3项目,添加了一个区域和一些内容.一切都运作良好.现在我创建了一个新的类库项目(在同一个解决方案中),从MVC项目添加了对它的引用,并开始将与区域相关的部分移动到库中.将库项目的输出目录更改为MVC项目的area-folder,并确保将Views及其web.config复制到output-folder.

在阅读了很多关于你如何不能拥有外部区域之后,这有点令人惊讶.真的没问题!当我删除项目之间的引用,而不是在代码中加载库时,问题就开始了.(在打电话之前AreaRegistration.RegisterAllAreas().)现在它不起作用.完全没有.

我一直在寻找MVC 3的源代码,问题似乎BuildManager.GetReferencedAssemblies()是用于让程序集寻找实现AreaRegistration.

现在,我不是百分之百地确定这一点,但似乎这个方法只查看在编译时存在/引用的程序集,有人可以确认这是否实际上是这样的?

我通过这个调试了,而且方法调用确实没有找到我在调用它之前加载的程序集.这可能是因为我可能错过的其他东西......有什么想法吗?

asp.net-mvc asp.net-mvc-areas asp.net-mvc-3

13
推荐指数
2
解决办法
6487
查看次数

ASP.NET MVC 3 - ViewBag属性不提供IntelliSense

我最近通过Web平台安装程序安装了ASP.NET MVC 3.我在Razor视图中没有对ViewBag的intellisense支持.Intellisense在Razor视图中与模型一起工作正常.我试图重建解决方案,禁用ReSharper ...但我无法让它工作.

任何帮助将不胜感激.

intellisense razor asp.net-mvc-3

11
推荐指数
2
解决办法
1万
查看次数