我有一个GridView gridview1
:
row 1
row 2
row 3
row 4
row 5
row 6
我有一个明星标签给我评分。该标签仅支持Javascript。
_dopostback method
我有一个<%#eval("sno")%>
,每当我点击带有锚标记的标签时,我都想要当前行的sno
值。
我也尝试过Command Argument,但这不适用于Javascript。
protected void myfun(object sender,CommandEventArgs e)
{
string s = e.CommandArgument.ToString();
}
<input class="star star-4" id="star4" type="radio" name="star" runat="server"/>
<label class="star star-4" for="star4" onclick="javascript:__doPostBack('myfun','<%#eval("sno")%>')"></label>
每当我点击一行时,我都需要sno
的值。我有数千条记录,每条记录都有自己唯一的sno
,之后我会在下一页生成关于此sno
的表格。
答案 0 :(得分:0)
此代码段(re:http://www.codeproject.com/Tips/209416/Click-select-row-in-ASP-NET-GridView-or-HTML-Table)可用于添加可为您的目的自定义的行var string="hello its 23:54. Some random value";
string = string.match(/\b(?:[01][0-9]|2[0-3]):[0-5][0-9]\b/g)[0];
console.log(string);
// Outputs
// => 23:54
事件处理程序(请参阅onclick
):
YourFunction(this)
或者,不是在每个Table行中添加onclick事件处理程序(由ASP.NET GridView控件呈现),您可以使用以下javascript代码段捕获并处理其click事件:
protected void GridView1_RowDataBound(Object sender,
GridViewRowEventArgs e){
if (e.Row.RowType == DataControlRowType.DataRow){
// javascript function to call on row-click event, implementing your business logic
e.Row.Attributes.Add("onClick", "javascript:void YourFunction(this);");
} }
其中传递给函数的表id(// ** add table row click event
function row_OnClick(tblId) {
try {
var rows = document.getElementById(tblId).rows;
for (i = 0; i < rows.length; i++) {
var _row = rows[i];
_row.onclick = function () {
return function () {
// YOUR CODE HERE
};
}(_row);
}
}
catch (err) { }
}
)对应于ASP.NET GridView控件。用法非常简单:例如从页面正文tblId
事件中调用此函数。实际实现可以在http://infosoft.biz/bus.aspx中找到(在点击时选择行)。
希望这可能会有所帮助。最好的问候,