首先:在母版页的 head 部分添加对 jQuery 的引用
<script src="//ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>
其次:将 ProductionOrderId 作为属性添加到数据行(如下所示),这样就可以在客户端通过 jQuery 访问它
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
e.Row.Attributes.Add("onmouseover", "this.style.cursor='Pointer';this.style.backgroundColor='Yellow'");
e.Row.RowIndex.ToString();
string id = DataBinder.Eval(e.Row.DataItem, "ProductionOrderId").ToString();
//save ProductionOrderId as datarow attribute
e.Row.Attributes.Add("rowid", id);
}
}
第三:
在 .aspx 文件的正文中添加以下脚本标记。每次单击一行时,它都会使用要删除的行的 ID 修改您的“删除”链接。为了清楚和完整起见,我还包含了您的链接。
<a href='<%=ResolveUrl("~/Producter/Delete?id=" ) %>' ID="HyperLink1">Delete</a>
<script language="javascript">
//every time a row is clicked this script will perform the following actions:
$("tr").click(function () {
var clicked = $(this);
//get the row id from the currently cliked row
var rowid = clicked.attr("rowid");
//get the value of href attribute from the link with id 'HyperLink1'
var link = $("#HyperLink1").attr("href");
//remove any previously appended values
var linkTokens = link.split("=");
linkTokens[1] = "";
link = linkTokens.join("=");
//append the current row id to the link
link = link + rowid;
//set the href attribute of your link to the new value
$("#HyperLink1").attr("href", link);
});
</script>
如果您需要进一步的帮助,请随时告诉我。
免责声明:通常最好使用 cdn 来传递 js 文件,因为它们很可能已经被用户浏览器缓存了。
根据要求,这里是将 jquery library 2.0 放入您的内容文件夹的方法:
- 备份您的工作解决方案。
- 用鼠标右键单击 此链接并选择另存为。
- 将其保存到磁盘上的内容文件夹中。
- 从 Visual Studio 中选择“添加现有项目”
- 浏览到您的内容文件夹
- 选择您的 jquery 文件
- 单击添加。
- 现在将您的 jquery 文件拖到页面的标题部分。
- 删除旧标签(链接到 ajax.googleapis.com)