当前位置:编程学习 > C#/ASP.NET >>

弱弱的说一句,作为标题党,我真的想不出狗血的标题了···

是,我就是那个标题党女程,是我是我还是我·········
技术弱爆了,又来求羞辱了········


伪静态问题!!!
前台页面是这样的:
<a class="btn01" href="javascript:;" onclick="query()">搜索问题</a> 
<a class="btn01" href="javascript:;" onclick="query2()">我要回答</a>

<li class="<%=classcss[0] %>"><a href="javascript:onClick=postReq('Wait');">/a></li>
<li class="<%=classcss[1] %>"><a href="javascript:onClick=postReq('StartTime');"></a></li>
                
调用的js方法是这个
<script type="text/javascript">
function query()
{
  location.href="search_result.aspx?QuestionContent="+document.getElementById('QuestionContent').value;
  return false;
}

function query2()
{
  location.href="search_result.aspx?QuestionContent2="+document.getElementById('QuestionContent').value;
  return false;
}

function postReq(inputParam)
{
  window.location='index.aspx?key=' + inputParam;  //index.aspx就是自身这张页面
}


</script>
 
这么怎么搞成伪静态啊亲!!!!!!!

--------------------编程问答--------------------

呵呵。少了个配置 --------------------编程问答-------------------- 伪静态 --------------------编程问答-------------------- 貌似是在web.config  里用正则表达式写的 (.aspx-->.html)

up..... --------------------编程问答--------------------
引用 3 楼 sxfgen 的回复:
貌似是在web.config 里用正则表达式写的 (.aspx-->.html)

up.....


好淫啊·····
好淫一生平安··· --------------------编程问答--------------------
引用 2 楼 taomanman 的回复:
伪静态

mark ... --------------------编程问答-------------------- globa里面

void RegisterRoutes(RouteCollection routes){
 routes.MapPageRoute("routename", "aaa.html", "aaa.aspx");
}

需要引入System.Web.Routing

或者

 public class HTMLHandler : IHttpHandlerFactory
{
    #region IHttpHandlerFactory 成员

    public IHttpHandler GetHandler(HttpContext context, string requestType, string url, string pathTranslated)
    {
        string path = string.Empty;

        PageHandlerFactory factory = null;
        IHttpHandler handler = null;
        //这里随便写的 具体替换规则自己定义
        path = url.Replace("html","aspx");
        factory = Activator.CreateInstance(typeof(PageHandlerFactory), true) as PageHandlerFactory;
        handler = factory.GetHandler(context, requestType, path, pathTranslated);
        return handler;
    }

    #endregion
}
--------------------编程问答-------------------- 等一个小时,等来一个马克······ --------------------编程问答-------------------- 求照片 --------------------编程问答--------------------
引用 2 楼 taomanman 的回复:
伪静态

这个不行?? --------------------编程问答-------------------- 2楼的就可以 

web.config 写下规则 就可以了 --------------------编程问答-------------------- http://blog.sina.com.cn/s/blog_4bb3e33a010007xy.html

自己去看看  --------------------编程问答-------------------- 都是好淫 --------------------编程问答-------------------- 我也想知道,asp.net 伪静态,有没有什么简单有效的方法呢? --------------------编程问答-------------------- 最简单的就是重写 --------------------编程问答--------------------
引用 6 楼 tptptp00 的回复:
globa里面

void RegisterRoutes(RouteCollection routes){
 routes.MapPageRoute("routename", "aaa.html", "aaa.aspx");
}

需要引入System.Web.Routing

或者

C# code

 public class HTMLHandler : IHttpHa……


偶吧,我看不明白····· --------------------编程问答-------------------- 新手,学习中~顺便踩楼主几下~ --------------------编程问答-------------------- 我还是推荐用Ionic IsapiRewriter
配置方便 --------------------编程问答-------------------- 2楼的最方便了  --------------------编程问答-------------------- 我现在是这样写的

<a class="btn01" href="javascript:;" onclick="query()">搜索问题</a>  
<a class="btn01" href="javascript:;" onclick="query2()">我要回答</a>

<li class="<%=classcss[0] %>"><a href="javascript:;" onclick="query3()"></a></li>
<li class="<%=classcss[1] %>"><a href="javascript:;" onclick="query4()"></a></li>


<script type="text/javascript"  src="../UrlReWrite.js">
function query()
{
    location.href = UrlReWrite.SearchUrl(document.getElementById('QuestionContent').value,1);
    return false;
}

function query2()
{
    location.href = UrlReWrite.SearchUrl(document.getElementById('QuestionContent').value, 0);
    return false;
}

function query3()

    location.href = UrlReWrite.IndexUrl(0);
    return false;
}

function query4() {
    location.href = UrlReWrite.IndexUrl(1);
    return false;
}

</script>


在UrlReWrite这个js文件里面写方法

var UrlReWrite = {
    SearchUrl: function(QuestionContent, State) {
        return "search_result-QuestionContent=" + encodeURI(QuestionContent) + "&State=" + State + ".html";
    },
    IndexUrl: function(State) {
    return "index-" + State + ".html";
    }
};

现在在webconfig里面怎么定义重写规则把我要的参数取出来呢?···· --------------------编程问答-------------------- mark 标记下 --------------------编程问答-------------------- --------------------编程问答-------------------- 唉 解决了  贴出来造福大众吧

<a class="btn01" href="javascript:;" onclick="query()">搜索问题</a>   
<a class="btn01" href="javascript:;" onclick="query2()">我要回答</a>

<li class="<%=classcss[0] %>"><a href="javascript:;" onclick="query3()"></a></li>
<li class="<%=classcss[1] %>"><a href="javascript:;" onclick="query4()"></a></li>


<script type="text/javascript" src="../UrlReWrite.js">
function query()
{
  location.href = UrlReWrite.SearchUrl(document.getElementById('QuestionContent').value,1);
  return false;
}

function query2()
{
  location.href = UrlReWrite.SearchUrl(document.getElementById('QuestionContent').value, 0);
  return false;
}

function query3()
{  
  location.href = UrlReWrite.IndexUrl(0);
  return false;
}

function query4() {
  location.href = UrlReWrite.IndexUrl(1);
  return false;
}

</script>


在UrlReWrite这个js文件里面写方法

var UrlReWrite = {
    SearchUrl: function(QuestionContent, State) {
        return "search_result-" + encodeURI(QuestionContent)  +"-"+ State + ".html";
    },
    IndexUrl: function(State) {
    return "index-" + State + ".html";
    }
};


webconfig里面的配置是
<RewriterRule>
        <LookFor>~/ask/index-(.[0-9]*)\.html</LookFor>
        <SendTo>~/ask/index.aspx?State=$1</SendTo>
      </RewriterRule>

      <RewriterRule>
        <LookFor>~/ask/search_result-(\w+)-(.[0-9]*)\.html</LookFor>
        <SendTo>~/ask/search_result.aspx?QuestionContent=$1&State=$2</SendTo>
      </RewriterRule>


我可是付出了被领导嫌弃的成本·····
--------------------编程问答--------------------
UrlRewriter.dll

URL Routing

两个都可以
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,