簡體   English   中英

javascript服務器標簽格式不正確

[英]javascript server tag not well formed

我希望傳遞2值來調用我的腳本,但是我沒有這樣做,所以返回的服務器標簽格式不正確

asp:LinkButton ID="lnkname" runat="server" Text='<%#Eval("movieTitle") %>' Width='500px' 

CommandName="cmdLink" PostBackUrl='~/videotest.aspx' 

OnClientClick="setSessionValue('video','<%#Eval("movieTitle") %>');"

嘗試這樣:

OnClientClick='<%# string.Format("setSessionValue(\"video\", {0});", Eval("movieTitle")) %>'

甚至更好地確保您使用JavaScriptSerializer類正確編碼電影標題:

OnClientClick='<%# string.Format("setSessionValue(\"video\", {0});", new JavaScriptSerializer().Serialize(Eval("movieTitle"))) %>'

是的,我同意,那些WebForms真是一團糟。 您可能會將此代碼外部化為以下函數:

public string FormatJs(object movieTitle)
{
    return string.Format(
        "setSessionValue(\"video\", {0});", 
        new JavaScriptSerializer().Serialize(movieTitle)
    );
}

接着:

OnClientClick='<%# FormatJs(Eval("movieTitle")) %>'

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM