2012-06-20 37 views
0

我有事情,如:如何在代碼中引用html id?

<form id="Form1"> ... </form> 

如何我指的是這種形式在我的C#代碼隱藏?我試着簡單地使用「Form1」,但它給了我一個錯誤。谷歌搜索也沒有幫助。

我試圖實現的是在谷歌結賬「動態購買」按鈕上動態輸入項目名稱或其中一個字段。參見:How to subscribe to click event of html form?

+1

只是想知道爲什麼... –

+0

@SteveB例如,在那裏改變文本。 – ispiro

+0

您的編輯可幫助我們理解您的需求。這是一個完美的例子,說明你想要做什麼很重要,而不是如何(或至少不是)。 @Curt的答案反映了這一點。起初,他回答了你的問題,然後,在你修改了問題的含義後,他給出了一個非常詳細的答案。總結一下,請記住,這裏的人不在你的腦海中,並且毫不猶豫地提供比所需更多的細節。 –

回答

2

你需要運行表單服務器端:

<form id="Form1" runat="server> ... </form> 

但是,如果你正在使用ASP.NET Web窗體你只能有每個正在運行的服務器端Web表單1表單。


編輯:看到你的編輯後,我會建議使用Response.Redirect()發佈的值在您的網站的獨立值:

Response.Redirect("GoogleCheckout.aspx?field=" + fieldvalue); 

那麼這個獨立的頁面上有以下幾點:

<form action="https://sandbox.google.com/checkout/..." id="Form1" method="post" name="..." target="_top"> 
<input name="item_name_1" type="hidden" value="<%= Request.Querystring["field"] %>" /> 
... 
<input alt="" src="https://sandbox.google.com/checkout/buttons/buy.gif?merchant_id=..." type="image" /> 
</form> 

然後使用javascript/jquery自動發佈此表單onload:

$("form").submit(); 

這解決了每頁只有1個表單的問題。

+0

我其實已經試過了。但即使只有一種形式,它也不起作用。但是該頁面正在使用確實具有表單的主頁面。這可能是問題嗎? – ispiro

+0

@ispiro是的,這將是問題。您不能在服務器上使用超過1個表單(.NET Web表單的主要限制之一)。也許在這裏發佈更多關於你想要實現的細節。 Theres可能是一個足夠體面的解決方案,與您現有的主頁形式。 – Curt

+0

請參閱編輯 – ispiro

1

添加runat="server"可以在代碼隱藏中看到該標記。