如何从javascript移到代码中的代码

时间:2009-08-13 09:04:14

标签: c# asp.net

我有一个gridview。当我点击其中的一行时,我必须转到javascript,就像这样。

        <script type="text/javascript" language="javascript">
            function GetDetails(rowNo)
            {
                document.getElementById('hidRowNo').value = rowNo
                document.getElementById('btnDet').click();
            }
        </script>

我在codebehind

中编写了以下代码
    protected void btnDet_Click(object sender, EventArgs e)
    {
        if (hidRowNo.Value != "")
        {
            int rowNo = Convert.ToInt32(hidRowNo.Value);
            TextBox1.Text = GridView1.Rows[rowNo].Cells[0].Text;
            TextBox2.Text = GridView1.Rows[rowNo].Cells[1].Text;
            TextBox3.Text = GridView1.Rows[rowNo].Cells[2].Text;
        }
    }



    protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
    {
        if (e.Row.RowType == DataControlRowType.DataRow)
        {
            e.Row.Attributes.Add("onclick", "GetDetails(" + e.Row.RowIndex + ");");
        }
    }

问题是javascript正在运行但是document.getElementById('btnDet')。click();也没有工作。虽然调试也没有,控制没有转移到btnDet_Click.what必须包括在后面的代码中将控制移动到btnDel_Click。

任何人都可以帮忙吗?

2 个答案:

答案 0 :(得分:3)

怎么样?
__doPostBack('btnDet','OnClick');

而不是

document.getElementById('btnDet').click();

在服务器端页面加载事件中,只需添加此代码...

ClientScriptManager.GetPostBackEventReference(btnDet)

点击此处msdn article

但是你的代码也应该有效。

您是否尝试过直接点击该按钮。这有用吗?

答案 1 :(得分:0)

看起来为btnDel按钮生成了onclick事件。但是在包含此按钮的提交表单上没有被触发。你要替换

document.getElementById('btnDet').click();

document.forms[0].fireevent('onsubmit');