2014-12-27 7 views
0

사실 나는 포스트 버튼을 클릭하여 일어난 후 페이지를 스크롤하려고합니다. 단추 클릭 이벤트에서 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> 
+0

코드 숨김을 사용하지 마십시오. – jcarpenter2

답변

0

대신을 시도 도와주세요 :

ScriptManager.RegisterStartupScript(this, this.GetType(), "alertmessage", "scrollTo('" + pos + "');", true); 

또한, 나는 당신의 자바 스크립트 기능이 올바르지 않을 수 있습니다 것으로 나타났습니다.

function scrollTo(val) { 
    $('html').scrollTop(pos); 
} 

난 당신이 scrollTop 방법에 val 매개 변수를 사용한다고 가정.

function scrollTo(val) { 
    $('html').scrollTop(val); 
} 
+0

죄송합니다. 입력상의 오류입니다. 실제로 스크립트는 gridview에없는 다른 버튼에서 호출됩니다. – RosiReddy