我有一个用户列表,在表格的每一行末尾我添加了两个链接(“href”):一个用于“更新”用户,另一个用于“删除”用户。因此,为了启用我添加了对javascript函数的调用,该函数捕获用户的ID并将另一个字段设置为“true”并将这些值插入到我之前创建的某个表单(只有两个“隐藏”字段的表单),然后函数激活了submit()操作到服务器部分(asp.net代码)。
我检查了一下,submit()操作正常(用respons.write(“-----”)检查......)
但我知道如何通过询问提交按钮的值来识别IsPost中的提交表单按钮(例如:if(Request.Form [“ExpertButton”] ==“delete”){..这里的一些代码....})
但是当我用javascript激活submit()时,我怎么能识别帖子?我尝试了隐藏字段的值,但它没有捕获这个并且它对if语句有所了解....
我发现调试的另一个问题是浏览器(IE9)在函数时抛出错误 submit()发生......
用户代码列表:
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="">
<input type="hidden" name="txtJavascriptMode" id="txtJavascriptMode" value="">
</form>
功能:
<script>
function expertToDelete(expertID) {
document.getElementById('expertID').value = expertID;
document.getElementById('txtJavascriptMode').value = 'true';
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["txtJavascriptMode"] == "true")
{
var id=Request.Form["expertID"];
var deleteQuery="DELETE FROM InvestmanExperts WHERE ExpertID=@0";
db.Execute(deleteQuery,id);
}
}
db.Close();
}
另一个奇怪的事情就是当我把这句话放进去时:
Response.Write("----"+Request.Form["txtJavascriptMode"]);
之前:
if(Request.Form["txtJavascriptMode"] == "true");
网站缩进看起来很糟糕但是删除行的用户工作正常,为什么?
感谢...
答案 0 :(得分:0)
隐藏的字段应该可以正常工作。尝试将ID deleteExpert
添加到表单中。