テーブルの各行の最後に 2 つのリンク ("href") を追加したユーザーのリストがあります。1 つは「更新」ユーザー用、2 番目は「削除」ユーザー用です。そのため、ユーザーのIDを取得して以前に作成したフォーム(「非表示」フィールドが1つだけのフォーム)に挿入するjavascript関数の呼び出しを追加し、関数がサーバーへのsubmit()操作をアクティブにしたことを有効にします一部 (asp.net コード)。
私がチェックしたところ、submit() 操作は問題なく動作します (respons.write() でチェック...)
しかし、送信ボタンの値を尋ねることで IsPost 内の送信フォーム ボタンを認識する方法を知っています (例: if(Request.Form["ExpertButton"]== "delete"){..some code here... .})
しかし、javascript で submit() を有効にすると、どうすれば投稿を認識できますか? hiiden フィールドの値を試してみましたが、これがキャプチャされず、if ステートメントがスキップされました....
ユーザーコードのリスト:
foreach(var row in db.Query(displayExperts,nameOfExpert))
{
<tr>
<td class="dispExpertActScreen">@row.ExpertID</td>
<td class="dispExpertActScreen">@row.name</td>
<td class="dispExpertActScreen">@row.password</td>
<td class="dispExpertActScreen">@row.allowBonds</td>
<td class="dispExpertActScreen">@row.allowStocks</td>
<td class="dispExpertActScreen">@row.allowExchangeTraded</td>
<td class="dispExpertActScreen">@row.allowMutualFund</td>
<td class="dispExpertActScreen"><a href="#" onclick="expertToDelete('@row.ExpertID') ;return false;" style="color: #b04e4e">update</a></td>
<td class="dispExpertActScreen"><a href="#" onclick="expertToDelete('@row.ExpertID') ;return false;" style="color: #b04e4e">delete</a></td>
</tr>
}
フォームコード:
<form method="post" name="deleteExpert" style="font-size: medium; margin-top: 10%" dir="rtl">
<input type="hidden" name="expertID" id="expertID" value="">
</form>
JavaScript コード:
<script>
function expertToDelete(expertID) {
document.getElementById('expertID').value = expertID;
document.getElementById('deleteExpert').submit ();
}
</script>
asp.net コード:
@{
var db = Database.Open("MyProjectSite");
var display="no";
var displayExperts="";
var nameOfExpert="";
var category="";
if(IsPost)
{
if(Request.Form["ExpertButton"]== "search")// this is by button!!!
{
some code.....
}
//Response.Write("^^^^^^^^^^^^^^^^^^^^^");
if(Request.Form["ExpertButton"] != "")// this need to be by javascript submit() method !!! here I need to recognize it.
{
var id=Request.Form["expertID"];
Response.Write("^^^^^^^^^^^^^^^^^^^^^"+id);
var deleteQuery="DELETE FROM InvestmanExperts WHERE ExpertID=@0";
db.Execute(deleteQuery,id);
}
}
db.Close();
}
ありがとう...