I have some code that looks something like this:
<head runat="server">
<script type="text/javascript">
var params = {};
params.param1 = 'value1';
params.param2 = 'value2';
params.param3 = 'value3';
params.param4 = ''; // ASP.NET value 1
params.param5 = ''; // ASP.NET value 2
function.call(params);
</script>
</head>
How do I use ASP.NET to populate param4
and param5
? I've read about master pages and content placeholders, but is there a way that I can just do something like params.param4 = '<%= var1 %>';
or params.param4 = '<asp:var />';
?
Edit
Thanks to everyone who answered so quickly. I must have had a parsing error or something that made me think this wasn't possible. Just to make it clear what I did to solve my problem:
ASPX page:
<head>
<script type="text/javascript">
var params = {};
params.param1 = 'value1';
params.param2 = 'value2';
params.param3 = 'value3';
params.param4 = '<%= var1 %>';
params.param5 = '<%= var2 %>';
function.call(params);
</script>
</head>
CS Code-Behind:
public string var1 { get; set; }
public string var2 { get; set; }
protected void Page_Load(object sender, EventArgs e)
{
// setup code goes here
var1 = 'param4';
var2 = 'param5';
}
Note: You don't need runat="server"
in the head, and just as long as the variables are public in the code-behind, they can be accessed via <%= %>
in the <head>
.