有没有办法在IIS express中创建虚拟目录?我知道Cassini不能这样做,如果不使用完整版本的IIS就能做到这一点会很好.
到目前为止我已经知道了我可以在IIS Express中本地浏览我的应用程序,如下所示:
我想要做的是创建一个名为"OffSiteStuff"的虚拟目录,并将其指向我的C驱动器上的某个位置,如"c:\ offsitestuff",然后浏览到该文件夹中的项目,如下所示:
HTTP://本地主机:1132/OffSiteStuff/UserUploadedImage.jpg
我知道我可以使用我的网站中的文件夹进行此操作并仍然使用IIS Express,或者就像普通的旧卡西尼而言,但是此文件夹将存储用户上传的图像,我真的不希望这些图像混淆应用文件.
另一个"走向大"的解决方案是每次我想调试使用异地内容的功能时,将站点部署到一个完整的Server 2008 IIS 7.5实例上,但这也有点麻烦.
有什么方法可以在<System.WebServer />
Web配置元素中执行此操作吗?
我有一个小型的MVC站点,它使用Html.ActionLink帮助器作为导航栏.我想改变的一件事是默认的ActionLink将呈现一个到页面的html链接,即使这是当前页面.
例如,它创建一个这样的链接:
<a href="/myUrl">Some title...</a>
Run Code Online (Sandbox Code Playgroud)
即使你已经在/ myUrl.如果它会禁用该链接并且可能插入一个特殊的CSS类来显示当前访问的页面,那将是很好的,如下所示:
<a href="#" class="currentPageCSS">My Url</a>
<a href="/someOtherUrl">Some Other Url</a>
Run Code Online (Sandbox Code Playgroud)
在加载MVC站点之前一定遇到过这个问题,所以我很想知道其他人是如何处理它的.
我正在使用.net 4中使用路由的webforms应用程序.我在global.asax中定义了一条非常基本的路由,如下所示:
RouteTable.Routes.MapPageRoute("myRouteName", "MyRoutePath", "~/RouteHandlers/MyHandler.aspx");
Run Code Online (Sandbox Code Playgroud)
在我的一个页面的代码隐藏中,我用它GetRouteUrl
来生成这个命名路由的URL,如下所示:
Response.RedirectPermanent(GetRouteUrl("myRouteName"));
Run Code Online (Sandbox Code Playgroud)
这不会产生预期的结果http://sitename/MyRoutePath
.相反,它产生http://sitename/MyRoutePath?length=15
长度参数似乎没有受到伤害,但我花了很多时间使URL看起来很好,所以我不想在那里看到额外的参数.知道如何禁用它吗?
在asp.net 4.5之前的旧时代,我们可以轻松地将日期绑定到Gridview,Formview或其他数据绑定控件,并使其看起来像一个简单的格式字符串.
<asp:TextBox
ID="DateFieldTextBox"
runat="server"
Text='<%# Bind("DateField","{0:d}") %>'/>
Run Code Online (Sandbox Code Playgroud)
新的强类型模型绑定有点困难.
<asp:TextBox
ID="DateFieldTextBox"
runat="server"
Text='<%# BindItem.DateField %>'/>
Run Code Online (Sandbox Code Playgroud)
将工作,但产生完整的日期/时间字符串而不仅仅是日期.
<asp:TextBox
ID="DateFieldTextBox"
runat="server"
Text='<%# BindItem.DateField.ToShortDateString() %>'/>
Run Code Online (Sandbox Code Playgroud)
..这应该工作,但它产生编译时错误"BindItem的无效代码语法".Item.DateField.ToShortDateString()有效,但不会在回发上绑定.
现在我们已经恢复了原来的语法,但我们希望得到现代编译时检查,但仍然可以很好地格式化日期.之前有人遇到过这个吗?
在阅读ScottGU关于该主题的博客文章后,我一直在修改ASP.net MVC中的客户端验证功能.使用System.Componentmodel.DataAnnotations属性非常容易,如下所示:
[Required(ErrorMessage = "You must specify a reason")]
public string ReasonText { get; set; }
Run Code Online (Sandbox Code Playgroud)
......但是如果你需要一些更复杂的东西会发生什么.如果您的Address类具有PostalCode和CountryCode字段,该怎么办?您可能希望根据每个国家/地区的不同正则表达式验证邮政编码.[0-9] {5}适用于美国,但加拿大需要另外一个.
我通过滚动自己的ValidationService类来解决这个问题,该类接受控制器的ModelState属性并相应地验证它.这在服务器端运行良好,但不适用于花哨的新客户端验证.
在Webforms中,我会使用像JavaScript一样的控件,比如RequiredFieldValidator或CompareValidator,然后使用CustomValidator来处理复杂的规则.这样我就可以在一个地方拥有所有验证逻辑,并且我可以获得快速javascript验证的好处(90%的时间),同时我仍然可以将服务器端验证的安全性作为支持.
MVC中的等效方法是什么?
我在实体框架上有大约两章进入1000多页,并且气馁并回到了旧的存储过程.
实体框架的共识(如果有的话)是什么?听完已经完成基于EF的项目的人们会很有意思,看看他们是否认为值得付出全部努力.
我一直在修改T4模板,并找到了一种方法来生成我的SPROC和DTO,就像我喜欢它一样,而不会弄乱EF.我错过了什么吗?
我在asp.net web forms 4.0中使用路由并取得了一些成功.在我的页面中,我使用Page.GetRouteURL来生成这样的路线.
<a href = '<%=GetRouteUrl("MyRoute", new {MyFirstRouteValue = "ABC", MySecondRouteValue=123}) #>' >Link Text</a>
Run Code Online (Sandbox Code Playgroud)
这非常有效,但我发现有时我需要在app_code中的类中使用此功能.我可以用String.Format手动构建路由,但这有点草率,因为它会复制定义路由的Global.asax中的代码.
当然,App_Code中的类中没有Page对象,所以我不能只调用GetRouteUrl.查看msdn上的文档,我看到一些看起来很有帮助的东西.
提供该方法用于编码方便.它相当于调用RouteCollection.GetVirtualPath(RequestContext,String,RouteValueDictionary)方法.
所以我按照文档到这个页面说明System.Web.Routing.GetVirtualPath()需要一个System.Web.Routing.RequestContext对象.我知道HttpContext对象,但我无法弄清楚RequestContext是什么.有人有运气吗?
几分钟后我发现很难看到新UI.他们似乎已经给它一个低对比度的外观,所以阅读文本是非常困难的.
有人找到了解决方案来获得VS2010的外观,但仍然可以利用.net 4.5中的新功能吗?
我有一个在VS2010中开发的旧数据库,我想迁移到SQL Azure.
我希望我可以将.sdf文件上传到SQL Azure,但找不到让它工作的方法.
我似乎无法在Management Studio 2008中打开.sdf文件(我得到"不兼容的数据库版本"),因此无法生成脚本的简单选项.
是否可以快速简便地完成迁移?
我喜欢小写的 tsql,但很多时候我遇到的例子都是无缘无故大写的。
曾经有一个很好的键盘快捷键 ctrl-shift-l 可以解决这个问题,但由于某种原因它似乎在 SSMS 2014 中停止工作。
有谁知道他们改成啥了?
asp.net ×4
asp.net-mvc ×2
routing ×2
.net ×1
.net-4.0 ×1
asp.net-4.5 ×1
iis-express ×1
ssms ×1
webforms ×1