在asp.net前台,大家会经常使用根目录运算符~。这样,可以不用考虑网站的配置目录。

有时,需要在后台设置路径,同样需要使用根目录运算符。好吧,其实我每次需要使用这种方法,就需要在baidu上查找如何使用。。。约莫使用这种方法的人不多罢,每次都要查上一段时间。方法还是有的,就是 ResolveUrl方法。代码及注释如下:

这个方法直接继承自Control,可以在.aspx配套的.cs文件中直接使用。

顺便吐个槽。当前在改的这个网站,做法实在太奇葩了。为了生成几个链接,做了那么几件事:

1、把数据拼成List<Hyperlink>

2、把List<Hyperlink>重新打包成List<string>,其中每一项是html格式的链接,如<a href='***'>&&&</a>这样。

3、前台使用Datalist,其中Itemtemplate就是直接显示每一项。<%# Container.DataItem %>

这种绕了老半天圈子的做法实在是费解啊。。。。把数据直接绑定到Datalist不就行了,反复封装拆包的不嫌麻烦么?!

以前看过个关于修改网站的妙喻。把逻辑混乱的网站比喻为一堆扭纹柴,修改的过程就是皱着眉头看清楚这堆扭纹柴的堆法,然后再扔2根新的扭纹柴上去。对于这个网站,这哪儿是一堆扭纹柴啊,活脱一堆烂废柴!网站这种项目,并不按照代码行数来给钱的吧,充斥着大量无聊无谓无趣无用的代码。简单一个1+1,偏偏要做成1+2*2-1*4+5-5+1这样。写这代码的人,一定从小数学不好。简单的问题一定要兜上10来个圈子才能到达终点。做网站永远是愈简洁愈有力,而不是凑篇幅。

吐槽归吐槽,渐进式的改良才是良策。

asp.net之后台使用根目录运算符的更多相关文章

  1. ASP.NET中后台数据和前台控件的绑定

    关于ASP.NET中后台数据库和前台的数据控件的绑定问题 最近一直在学习个知识点,自己创建了SQL Server数据库表,想在ASP.NET中连接数据库,并把数据库中的数据显示在前台,注意,这里的数据 ...

  2. 利用JQuery的$.ajax()可以很方便的调用asp.net的后台方法

    利用JQuery的$.ajax()可以很方便的调用asp.net的后台方法. 先来个简单的实例热热身吧. 1.无参数的方法调用 asp.net code: view plaincopy to clip ...

  3. ASP.NET MVC 后台接收集合参数和 jquery ajax 传值

    MVC 接收参数数组(集合)   示例样本:   public class Person {      public string FirstName { get; set; }      publi ...

  4. 序列化json对象,通过ajax传入asp.net mvc后台

    序列化json对象,通过ajax传入asp.net mvc后台 序列化json对象,通过ajax传入asp.net mvc后台   今天遇到一个问题,准备把组织好的json对象通过jquery.aja ...

  5. ASP.Net中后台控制页面提示信息的显示方式

    ASP.Net中后台控制页面提示信息的显示方式   用于删除或修改成功后的显示:(背景No空白) ScriptManager.RegisterStartupScript(this, typeof(Pa ...

  6. 类型:Jquery;问题:jquery调用后台带参数方法;结果:利用JQuery的$.ajax()可以很方便的调用asp.net的后台方法。

    利用JQuery的$.ajax()可以很方便的调用asp.net的后台方法. [WebMethod]   命名空间 1.无参数的方法调用, 注意:1.方法一定要静态方法,而且要有[WebMethod] ...

  7. asp.net mvc后台操作之读写xml控制首页动态页面开关显示

    一.背景 在asp.net mvc项目里,用户需要开拓几个活动版面,并以侧栏的方式呈现在首页右侧,几个活动时间不一致,为避免浏览者在活动未开放之时进入未开放的服务页面.因此不仅需要在活动代码中加入限制 ...

  8. asp.net web 后台判断提示框,点击'是'执行代码A(),点击'否'执行代码B()

    html code <html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server&q ...

  9. Asp.Net之后台加载JS和CSS

    在Asp.Net开发时,用到的JS库.通用的CSS等,在许多页面都会用到,而每次都需要手动引入,相当麻烦,而且有时一旦忘了引用,还得找半天才能找到问题.那有没有什么办法能够一劳永逸的呢?答案是有的. ...

随机推荐

  1. linux下su设置无密码模式

    1.首先切换到root用户下 2.进到etc目录  cd /etc 3. 修改文件的权限   chmod u+w /etc/sudoers 4. 修改文件   vim  /etc/sudoers

  2. php+提高大文件上传速度

    PHP用超级全局变量数组$_FILES来记录文件上传相关信息的. 1.file_uploads=on/off 是否允许通过http方式上传文件 2.max_execution_time=30 允许脚本 ...

  3. BZOJ 1951: [Sdoi2010]古代猪文 ExCRT+欧拉定理+Lucas

    欧拉定理不要忘记!! #include <bits/stdc++.h> #define N 100000 #define ll long long #define ull unsigned ...

  4. Linux安装—IP设置

    IP设置 务必不要把Linux的IP设置为和我们的真实机位于同一网段(这可能会跟其他机器造成冲突) 具体操作是:在安装虚拟机时Network Type设置选择:Use Host-Only networ ...

  5. Javascript调试技巧整理

    整理一下网上看到的实用调试技巧! 1. 不要使用alert 首先,alert只能打印出字符串,如果打印的对象不是String,则会调用toString()方法将该对象转成字符串(比如转成[object ...

  6. HGOI 20190830 题解

    Problem A 钥匙 有$n$个人和$m$个钥匙在数轴上,人的坐标为$a_i$,钥匙的坐标为$b_i$ 而门的坐标为$p$,要让所有人获得一把不同钥匙,并且到达门,最长时间最短是多少. 对于$10 ...

  7. 开启两个线程,一个线程打印A~Z,一个线程打印1~52的数据

    开启两个线程,一个线程打印A-Z,一个线程打印1-52的数据 import java.util.concurrent.locks.Condition; import java.util.concurr ...

  8. android canvas drawtext 字高

    Paint pFont = new Paint(); Rect rect = new Rect(); pFont.getTextBounds("豆", 0, 1, rect); L ...

  9. sklearn3_svc分类器预测

    python机器学习-乳腺癌细胞挖掘(博主亲自录制视频) https://study.163.com/course/introduction.htm?courseId=1005269003&u ...

  10. LC 537. Complex Number Multiplication

    Given two strings representing two complex numbers. You need to return a string representing their m ...