[英]How to place a programmatically added literal control in the right location in the web page?
我正在使用以下代碼行向我的網頁添加文字控件:
LiteralControl myObject = new LiteralControl();
myObject.Text =
@"<OBJECT ID='MediaPlayer' WIDTH='640' HEIGHT='480' CLASSID='clsid:9BE31822-FDAD-461B-AD51-BE1D1C159921' STANDBY='Loading Windows Media Player components...' TYPE='application/x-vlc-plugin'>
<PARAM NAME='FileName' VALUE='" + "file:///" + path + "'> ... </OBJECT>';";
Page.Controls.Add(myObject);
但這是在頁面底部添加的,而我要在中間,如何指定放置此控件的位置?
根據經驗,我會將Literal
聲明放在您的頁面上(以便您可以選擇其確切位置),然后通過代碼設置控件的Text
屬性。 如果您不輸入任何文本,則該元素將為空,並且不會在頁面上呈現任何內容。
在您的aspx頁上的所需位置:
<asp:Literal ID="myLiteral" runat="server" />
在您的代碼中:
myLiteral.Text = "...";
如果您不希望看到任何內容,請忽略它。 該控件不會阻礙應用程序的其余流程。
除了@Flater答案之外,如果您只需要添加一些文本,則更好地遵循該答案,一種指定所添加控件位置的方法是添加PlaceHolder控件 。
<asp:PlaceHolder runat="server" id="phPlaceOnMe" />
並在后面的代碼中將控件添加為:
phPlaceOnMe.Controls.Add(myObject);
假設如果controlA是要在其之前放置文字控件myObject的控件,
控件父級= controlA.Parent;
parent.Controls.AddAt(parent.Controls.IndexOf(controlA),myObject);
我在stackoverflow本身上找到了它,並且對我有用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.