开发者

How to set value of <input type="hidden"> in asp .net page_load without using runat="server"

i need to do the following two things...

  1. i want to set value of in asp .net page_load. the problem is that i dont want to use runat="server". i have tried this the following but it does not work:

HtmlInputHidden hiddenControl = (HtmlInputHidden) FindControl("a");

is there a way to access in asp .net page_load without using runat="server"? ? ?

  1. i can do this if i use but in this case i cannot access it in master page's javascript function. i have tried this but it does not work...
    • var hdnField = document.getElementById('<%= hdnIdentity.ClientId%>');
    • var hdnField = document.getElementById("hdnIdentity").getAttribute("value");
    • var hdnField = document.getElementById("hdnIdentity").value

what i need... i want t开发者_运维知识库o access content page's hidden field value in javascript in master page. is there a way ? ? ? thnx in advance regards Haroon haroon426@yahoo.com


I sometimes do the following, especially when I want control over my ids (especially when using jquery).

<asp:literal id="literal1" runat="server"><input type="hidden" id="someid" value="{0}"/></asp:literal>

Then, in codebehind you can set the value with the following:

literal1.Text = string.Format(literal1.Text, "somevalue");

This doesn't really get around using runat="server", but you haven't specified why you don't want to do that. Also, you'd have to get the value with a request.form

Update

In .net 4.0 you have much more control over your IDs. See this for more information:

http://weblogs.asp.net/asptest/archive/2009/01/06/asp-net-4-0-clientid-overview.aspx


IIRC, you need to look in the HttpRequest.Forms, somewhere in there.


If the value is part of a POST form then you want to check Request.Forms or Request.QueryString if it's a GET form.


ad 1) in aspx file just write <input type="hidden" value="<%=GetHiddenValue%>" />. And in your code behind define protected property

public class MyPage : Page {
  protected GetHiddenValue { get { /*...*/ } }


You can use it in your master page javascript how ever the control name is not what you expect it to be you'd need to use ClientID to get that. If you do not apply runat=server you can only get a hold of the control as text by either traversing the .aspx file or as some one mentioned embedding it in a named tag and then doing string manipulation on the inner HTML. That is for setting it. If you need to get the value use Request[tagName] or similar


ad 2) You can use simple html code in your content page with specified id <input type="hidden" id="myHiddenField" />. Then in master page javascript use document.getElementById('myHiddenField').

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜