这是用notepad(记事本)写的代码
using System;
using System.IO;

public class Test
{
   
public static void Main(string[] arg)
   
{
      
if(arg.Length<1)
      
{
        
return;
      }

      
string url=arg[0];
      
int begin=url.LastIndexOf("/")+1;
      Console.WriteLine(begin);
      
int end=url.LastIndexOf("?")-url.LastIndexOf("/")-1;
      Console.WriteLine(end);
      Console.WriteLine(url.Substring(begin,end));
   }

}
 
用来截获字符子串,参数在arg里面,运行正常。
下面是在asp.net里面写的语句
private void Page_Load(object sender, System.EventArgs e)
        
{
            
// 在此处放置用户代码以初始化页面        
            string url=Request.Url.ToString().Trim();
    
if(url.Length>0)
            
{    
                
int begin=url.LastIndexOf("/")+1;
                                
string compUrl="bookdetail.aspx";
                
if(url.Substring(begin,15)==compUrl)
                
{                
                    
this.DataList1.RepeatDirection=RepeatDirection.Horizontal;
                    
this.DataList1.RepeatColumns=20;
                }

            }

            DataList1.DataSource
=new guanli.Component_TuShu().GetTypeList();;
            DataList1.DataBind();
        }
这是想实现动态改变我们的Datalist的外观,当请求的页面不同时,它的显示也是不同的。



但是,它在运行时提示如下错误:
异常详细信息: System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。参数名:length

源错误: 


行 
28:                 //int end=url.LastIndexOf("?")-url.LastIndexOf("/")-1;            
行 29:                 string compUrl="bookdetail.aspx";
行 
30:                 if(url.Substring(begin,15)==compUrl)
行 
31:                 {                
行 
32:                     this.DataList1.RepeatDirection=RepeatDirection.Horizontal;
 

源文件: f:\myweb\myprg\typelist.ascx.cs    行: 
30 

实在是琢磨不透。能给点建议不?
posted on 2004-11-09 14:50  zfphere  阅读(2043)  评论(10编辑  收藏  举报