2013-03-20 29 views
1

我個人有T以下ASPX來源:創建表單操作可變

<form name="AddComment" action="ViewArticle.aspx?ArticleID=<%=ArticleID %>" method="post" runat="server"> 

的問題是,當我點擊提交,我得到這個網址

http://localhost:61175/WebSite1/ViewArticle.aspx?ArticleID=%3C%=ArticleID%20%%3E 

但我希望得到這個網址:

http://localhost:61175/WebSite1/ViewArticle.aspx?ArticleID=1 

如果我刪除了「runat =」server「」命令,它可以正常工作,但是這個表單可以工作 變量和runat服務器在同一時間嗎?

回答

1

也許你可以嘗試設置行動只是形式類似這樣的標記之前(或代碼隱藏在你的選擇)

<% 
    this.Form.Action = "ViewArticle.aspx?ArticleID=" + ArticleID.ToString(); 
%> 
<form name="AddComment" method="post" runat="server"> 
+0

它很好用!非常感謝你!!! – 2013-03-20 16:45:58

+0

如何將代碼放入隱藏頁面?當我這樣做時,我得到一個錯誤 – 2013-03-20 21:03:07

+0

@NaveTseva在這裏工作正常,與第一行page_load完全相同的行。你得到的錯誤是什麼? – jbl 2013-03-21 09:17:52

1

在服務器端控件,你不能做這樣的事情<%= ActionID %>你只能綁定<%#ActionID%>。

上面的解決方案將不起作用,因爲表單不是這種形式。您必須提供控制ID +名稱,而不是設置帖子網址。如果它不是一個選項,您可以在控制樹中動態搜索表單項,因此可以處理動態ID-s。

+0

現在我明白了,謝謝! – 2013-03-20 16:47:13

+1

與其他控件相比,Form有一個特殊的狀態:http://msdn.microsoft.com/en-us/library/system.web.ui.page.form.aspx – jbl 2013-03-20 16:51:26

+0

很高興知道,thx! – nBalu 2013-03-21 09:35:15