我有一个中继器,在这个中继器里面我有一个更新面板。在这个 UpdatePanel 中,我有一个隐藏的,我想在 Repeater_ItemCommand 事件中显示它。我正在努力解决这个问题,而且我不是 Jquery-guru .. 在 Firebug-console 中它说: ReferenceError: showError is not defined
这是 UpdatePanel(div #errorMessage 在底部):
<asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<%# GetComments (DataBinder.Eval(Container, "DataItem.id")) %>
<div class="contact_form">
<ul>
<li>
<h2>Skriv en kommentar til oss!</h2>
</li>
<li>
<asp:TextBox ID="txtName" runat="server" CssClass="txtBox" placeholder="Ditt navn" />
<span class="form_hint">Ditt navn skal stå her</span>
</li>
<li>
<asp:TextBox ID="txtCaptcha" runat="server" CssClass="txtBox" placeholder="Skriv resultatet av 10 pluss 6 her" />
<span class="form_hint">Du klarer vel å regne ut 10+6? :-)</span>
</li>
<li>
<asp:TextBox ID="txtComment" runat="server" TextMode="MultiLine" placeholder="Din kommentar" />
</li>
<li>
<asp:Button ID="cmdSaveComment" CssClass="button" runat="server" CommandName="SaveComment" CommandArgument='<%# Eval("id")%>' Text="Puliser kommentar" />
</li>
</ul>
<div id="#errorMessage<%# Eval("id") %>" style="display:none;">
<p>Du må skrive resultatet av 10+6 i boksen for å få publisert kommentaren</p>
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
在我的 .js 文件中,我创建了这个函数:
$(document).ready(function showError (divId) {
$id = divId;
$("#errorMessage" + $id + '').show("slide");
return false;
});
在代码隐藏中,我想触发这个:
protected void RepeaterBlog_ItemCommand(Object Sender, RepeaterCommandEventArgs e)
{
if (e.CommandName == "SaveComment")
{
int blogID = Int32.Parse(e.CommandArgument.ToString());
string name = ((TextBox)e.Item.FindControl("txtName")).Text;
string comment = ((TextBox)e.Item.FindControl("txtComment")).Text;
string captcha = ((TextBox)e.Item.FindControl("txtCaptcha")).Text;
if (captcha == "16")
{
if (name == "")
{
name = "Anonym";
}
name = name.Replace("'", "'");
comment = comment.Replace("'", "'");
dh.NewComment(name, comment, blogID);
GetItems();
}
else
{
//show error box
string js = "$(document).ready(function () { showError('" + blogID.ToString() + "'); });";
ScriptManager.RegisterStartupScript(this, GetType(), blogID.ToString(), js, true);
//string js = "$(document).ready(function () {$(document).on('show', function() { $('#errorMessage" + blogID.ToString() + "').show('slide');return false;})});";
//ScriptManager.RegisterStartupScript(this, this.GetType(), blogID.ToString(), js, true);
}
}
}
有人可以帮我弄清楚我做错了什么吗?