Передача параметров через URL в C # ASP.net

1

У меня есть следующий код для события нажатия кнопки, в котором я открываю новую вкладку для отчета, и мне нужно передать параметр по коду позади,

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);

Мне нужно передать имя класса и чашку на страницу Report_Classwise.aspx, я попробовал настройку

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

Но это не сработало

Теги:

3 ответа

8
Лучший ответ

Вам не нужно добавлять дополнительную одиночную цитату в URL-адрес

string url = "Report_Classwise.aspx?classname=" + classname + "&teachername=" 
+ teachername;
  • 0
    Спасибо, это сработало, но в URL-адресе написано, что между именами классов и именами столько 20%, 20% 20%, это нормально?
  • 0
    Да это нормально
Показать ещё 2 комментария
2

Вы одиночные кавычки могут мешать вашим именам параметров, вы уверены, что действительно хотите их там?

Вы можете кодировать свои параметры, чтобы убедиться, что они не содержат специальных символов и т.д., И оставьте свои одинарные кавычки:

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

Используйте string.Format для большей удобочитаемости и избегайте путаницы.

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

Ещё вопросы

Сообщество Overcoder
Наверх
Меню