通过C#ASP.net中的URL传递参数

时间:2014-05-25 05:17:38

标签: c# asp.net

我有一个按钮点击事件的以下代码,我为报告打开一个新的标签,我需要从后面的代码传递一个参数,

String classname = txt_classname.SelectedValue;
String teachername = "Some name";


string url = "Report_Classwise.aspx";
string s = "window.open('" + url + "', 'popup_window', 'width=300,height=100,left=100,top=100,resizable=yes');";
ClientScript.RegisterStartupScript(this.GetType(), "script", s, true);

我需要传递classname&在Report_Classwise.aspx页面上,我尝试过设置

string url = "Report_Classwise.aspx?classname='"+classname+"'&teachername='"+teachername+"'";

但它不起作用

3 个答案:

答案 0 :(得分:8)

您无需在网址

中添加其他单引号
string url = "Report_Classwise.aspx?classname=" + classname + "&teachername=" 
+ teachername;

答案 1 :(得分:2)

您的单引号可能会干扰您的参数名称,您确定要将它们放在那里吗?

您可能希望对参数进行编码,以确保它们不包含某些特殊字符等,并删除单引号:

string url = "Report_Classwise.aspx?classname=" + encodeURIComponent(classname) +"&teachername=" + ncodeURIComponent(teachername);

答案 2 :(得分:1)

使用string.Format提高可读性并避免混淆。

string url = string.Format("Report_Classwise.aspx?classname={0}&teachername={1}", classname, teachername);