2014-12-27 63 views
0

其實我試圖通過刪除按鈕發佈回發生頁面。我試圖從按鈕點擊事件調用JavaScript函數,並且該按鈕位於gridview中。但是javascript函數沒有調用。而且我只想通過OnClientClick事件從代碼隱藏中調用JavaScript函數。請幫我如何從gridview按鈕中調用javascript函數單擊事件代碼隱藏

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); 

另外,我注意到,你的Javascript功能可能不正確。

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

我假設你想使用val參數在scrollTop方法。

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

對不起,它的輸入錯誤。實際上腳本是從另一個不在gridview中的按鈕調用的。 – RosiReddy

相關問題