データグリッドに多数のアイテムをリストするページがあります。
各アイテムには対応する がありremove link button
、リストからアイテムを削除します。項目が削除されるイベント ハンドラーで、項目がリストの最後の項目であるかどうかを確認します。それが最後のアイテムである場合、私は削除を行いませんが、アイテムを削除できないことをユーザーに通知する警告ボックスを送信します。C# でこのアラート ボックスをトリガーする方法がわかりません。
私のコードは次のようになります。
私のaspxには、さまざまなリンクボタンを備えたデータグリッドがあります。示されているコードのスニペット:
<ItemTemplate>
<asp:LinkButton runat="server" ID="Remove"
OnCommand="lnkRemove_Command" CommandArgument='<%# Eval("Id") %>
OnClientClick="return false;">
</asp:LinkButton>
</ItemTemplate>
私のコード ビハインドでは、イベント ハンドラーは次のようになります。
private List<MyItem> _items;
protected void lnkRemove_Command(object sender, CommandEventArgs e)
{
int ID = Convert.ToInt32(e.CommandArgument);
MyItem item = MyItem.GetItemByID(id); //This gets the item cooresponding to the ID
if (_items.Count != 1)
{
//code to delete item
}
else
{
//Generate an alert box to tell the user that this item cannot be deleted.
//I have tried the following two lines of commented code, which didn't work for me
//Response.Write(@"<script language='javascript'>alert('HERE');</script>");
//Page.ClientScript.RegisterStartupScript(this.GetType(), "hwa", "alert('Hello World');", true);
}
}
さらに、私のPage_Load
では、すでにContext.RegisterResource(this, StyleSheet, Script)
. つまり、MyFile.js のこのページの他の機能のこのコードに対応する JavaScript と CSS を使用しています。
可能であれば、さまざまな OnClientClicks などによってトリガーされる js 関数が既にある MyFile.js に JS 関数を作成したいと思います...
次のようなことは可能ですか?
in MyFile.js
var GetAlertMessage = function()
{
alert("Can't delete this item");
}
上記のC#関数でこの関数を呼び出しますか?
助けてくれてありがとう。