On loading the page I want to pass a value to my javascript function from a server side variable.
I cannot seem to get it to work this is what I have:
Asp.Net
protected void Page_Load(object sender, EventArgs e)
{
string blah="ER432";
}
Javascript
<script type="text/javascript">
var JavascriptBlah = '<%=blah%>';
initObject.backg.product_line = JavascriptBlah;
</script>
Adding this to the page
public string blah { get; set; }
protected void Page_Load(object sender, EventArgs e)
{
blah="ER432";
}
I still am getting an error: CS0103: The name 'blah' does not exist in the current context
Also I would like to try and accomplish this without using hdden fields
I believe your C# variable must be a class member in order to this. Try declaring it at the class level instead of a local variable of Page_Load()
. It obviously loses scope once page_load is finished.
public partial class Example : System.Web.UI.Page
{
protected string blah;
protected void Page_Load(object sender, EventArgs e)
{
blah = "ER432";
//....
在这个特殊情况下, blah
是Page_Load
本地,你必须使它成为一个类级别的成员(可能使它成为一个属性),让它像那样暴露。
You can put a hidden input in your html page:
<input type="hidden" runat='server' id="param1" value="" />
Then in your code behind set it to what you want to pass to your .js function:
param1.value = "myparamvalue"
Finally your javascript function can access as below:
document.getElementById("param1").value
你应该在班级宣布blah
。
Your string blah
needs to be a public property of your Page
class, not a local variable within Page_Load
. You need to learn about scoping.
public class MyPage
{
public string blah { get; set; }
protected void Page_Load(object sender, EventArgs e)
{
blah = "ER432";
}
}
What I've done in the past is what webforms does as it's functionality--creating a hidden field to store values needed by the client. If you're using 4.0, you can set the hidden field client id mode to static to help keep things cleaner as well. Basically, add you value to the hidden field and then from javascript you can get the value or modify it too(in case you want to pass it back) since it's just a dom element.
If you really want to use code--like a variable, it needs to be accessible at the class scope.
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.