设为首页 收藏本站
查看: 819|回复: 0

[经验分享] asp.net mvc 发布到IIS测试,路径的引用问题

[复制链接]

尚未签到

发表于 2015-8-16 11:44:47 | 显示全部楼层 |阅读模式
  之前做的一个ASP.NET MVCI应用程序,今天发布到IIS中进行测试,结果发现之前的很多引用的脚本文件和CSS文件都显示不正常,仔细一看原来是路径引用的问题。
  IIS里建的虚拟目录,但我在引用文件的时候都是使用的是站点根目录的方式,当时没有考虑到,我是菜鸟大家别笑,记录下来,是提醒以后别忘记了,顺便提醒一下马虎的朋友们,^_^。
  突然碰到这个问题,之前又没有太在意。问题总得想办法解决呀,最主要的就是三个问题。
  1.html中引用的一些路径问题:
  我才突然想到asp.net mvc中的一个帮助类UrlHelper,就使用了Url.Content()方法,使用了表示asp.net 中的虚拟根目录符号”~”,这样才将问题解决了,这个符号在一般的html代码中是不可以正常使用的,一定要在asp.net 中才可以使用。
  2.脚本中引用路径的问题
  脚本中也需要使用一些url,我是这样的,我写了一个WebHandler让它返回一个javascript 字符串对象,这个对象的字符串是指网站根目录或者虚拟目录。
  WebHandler中的代码
  

DSC0000.gif DSC0001.gif 代码

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Services;

namespace ZencartFAQ.Handler
{
    /// <summary>
    /// Summary description for $codebehindclassname$
    /// </summary>
    [WebService(Namespace = "http://tempuri.org/")]
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
    public class GetRootPath : IHttpHandler
    {

        public void ProcessRequest(HttpContext context)
        {
            context.Response.ContentType = "text/plain";
            if ("/Handler/GetRootPath.ashx".ToUpper() == context.Request.ServerVariables["SCRIPT_NAME"].ToUpper())
            {
                context.Response.Write("var rootPath='" + "http://" + context.Request.ServerVariables["HTTP_HOST"] + "'");
            }
            else
            {
                string virtualPath = context.Request.ServerVariables["SCRIPT_NAME"];
                int tmpEnd = virtualPath.IndexOf('/', 1);
                context.Response.Write("var rootPath='" + "http://" + context.Request.ServerVariables["HTTP_HOST"] + virtualPath.Substring(0, tmpEnd + 1) + "'");
            }
        }

        public bool IsReusable
        {
            get
            {
                return false;
            }
        }
    }
}  

  另外脚本的使用就是引用


代码

    <script src='<%=Url.Content("~/Handler/GetRootPath.ashx")%>' type="text/javascript" language="javascript"></script>
    <script type="text/javascript" language="javascript">
        alert(rootPath);
    </script>  

  3.样式表中引用的问题
  CSS中一般引用路径都是一些图片文件,我是将所有的图片文件放到IIS根目录下,这样就可以访问了。
  技术有限,没有总结好的请大家指教。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-99722-1-1.html 上篇帖子: asp.net 程序 IIS HTTP 500 内部服务器错误 下篇帖子: IIS设置允许下载.h264文件解决方法
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表