사실 나는 포스트 버튼을 클릭하여 일어난 후 페이지를 스크롤하려고합니다. 단추 클릭 이벤트에서 JavaScript 함수를 호출하려고했는데 단추가 gridview에 있습니다. 하지만 자바 스크립트 함수는 호출하지 않습니다. 그리고 JavaScript 함수를 OnClientClick 이벤트가 아닌 코드 숨김에서 호출하려고합니다. 나를어떻게 gridview 버튼에서 자바 스크립트 함수를 호출 이벤트 codebehind
protected void btnDelete_Click(object sender, EventArgs e)
{
string pos = hdnfield.Value;
GridViewRow currentRow = (GridViewRow)((Button)sender).Parent.Parent;
Button btnDelete= (Button)currentRow.FindControl("btnDelete");
long ImageId = Convert.ToInt64(gridImages.DataKeys[currentRow.RowIndex]["IMAGE_ID"].ToString());
bool bRetValue = DeleteImage(ImageId);
ScriptManager.RegisterStartupScript(this, this.GetType(), "alertmessage", "javascript:scrollTo('" + pos + "')", true);
}
function scrollTo(val) {
$('html').scrollTop(val);
}
<asp:GridView ID="gridImages" runat="server" AutoGenerateColumns="False"
Height="234px" Width="368px" ShowHeader="false" BorderStyle="None" style="border-collapse:separate; border-spacing:20px;" GridLines="None" DataKeyNames ="IMAGE_ID">
<Columns>
<asp:TemplateField HeaderText="Image">
<ItemTemplate>
<asp:Image ID="Image1" runat="server" ImageUrl='<%#"ShowImages.ashx?ImgID="+ Eval("IMAGE_ID") %>' Height="78px" Width="118px" style="border:3px solid #CCCCFF"/>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Delete">
<ItemTemplate>
<asp:Button ID="btnDelete" runat="server" Text="Delete"
OnClick="btnDelete_Click"/>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
코드 숨김을 사용하지 마십시오. – jcarpenter2