Пара простых способов получить работу:
1: используйте вызовы ClientScriptManager.RegisterClientScriptBlock , чтобы вставить скрипт непосредственно на страницу:
protected void Page_Load(object sender, EventArgs e) {
// Not sure what your Tools.GetQueryObject is doing, but it should at
// the least be performing a UrlDecode to convert the string from any
// Url encoding, and as you're about to pass this back to javascript,
// you should also HtmlEncode it.
string valueFromCodeBehind = "var myValue = " +
Server.HtmlEncode(Server.UrlDecode(Request.QueryString["id"]));
// Get a ClientScriptManager reference from the Page class.
ClientScriptManager cs = Page.ClientScript;
// Output the script block to the page.
// Notes:
// 1) I'm passing true as the final parameter to get the script manager
// to auto generate the script tags for me.
// 2) You might need to call "RegisterStartupScript" if you need the
// JS variables earlier in the page.
cs.RegisterClientScriptBlock(this.GetType(),
"SetValues",
valueFromCodeBehind,
true);
}
}
2: свойство в выделенном фрагменте кода, указанное на странице:
На вашей странице .aspx, что-то вроде этого:
<script type="text/javascript">
var myValue = <%=ValueFromCodeBehind%>
</script>
В своем коде вы объявляете переменную и гарантируете, что она установлена:
public partial class Testing: System.Web.UI.Page {
protected string ValueFromCodeBehind;
protected void Page_Load(object sender, EventArgs e) {
ValueFromCodeBehind =
Server.HtmlEncode(Server.UrlDecode(Request.QueryString["id"]));
}