LinkBut​​ton点击事件没有激活asp.net

时间:2017-01-06 20:01:26

标签: javascript c# asp.net

我不知道为什么linkbutton onclick事件没有触发。我试过重写代码。我试图直接重定向按钮点击功能。我已尝试在dashbut_Click()行的redirectUser()内设置一个断点,但它从未到达那里。请帮我解决这个问题。

HTML:

<li><asp:LinkButton ID="dashbut" runat="server" 
           CausesValidation="false" 
           OnClick="dashbut_Click"
           Text="Dashboard">
               <img src="images/dash.png" height="25" width="25" class="fa fa-tachometer" /><span> Dashboard</span>
    </asp:LinkButton>
 </li>

代码背后:

protected void dashbut_Click(object sender, EventArgs e)
{
    //Response.Redirect("~/Views/Portal/AdminDashboard.aspx");
    redirectUser();
}

private void redirectUser()
{
    string myConnection = dbController.connectionString;
    SqlConnection conn = new SqlConnection(myConnection);

    string userCheckQuery = "SELECT UserType from tblUsers where ID = '" + USERid + "'";
    SqlCommand cmd1 = new SqlCommand(userCheckQuery, conn);
    conn.Open();
    bool userType = (bool)cmd1.ExecuteScalar();
    conn.Close();

    if (userType == true)
    {
        Response.Redirect("~/Views/Portal/AdminDashboard.aspx");
    }
    else if (userType == false)
    {
        Response.Redirect("~/Views/Portal/Dashboard.aspx");
    }
}

修改

由于JS错误,似乎没有触发LinkBut​​ton click事件。我不知道这是如何相关的,但当我点击按钮并在浏览器Inspect Element上查看错误时,我看到以下TypeError。

Uncaught TypeError: theForm.submit is not a function
at __doPostBack (NewArtist.aspx:63)
at <anonymous>:1:1

这是剧本:

<script type="text/javascript">
//<![CDATA[
var theForm = document.forms['form1'];
if (!theForm) {
    theForm = document.form1;
}
function __doPostBack(eventTarget, eventArgument) {
    if (!theForm.onsubmit || (theForm.onsubmit() != false)) {
        theForm.__EVENTTARGET.value = eventTarget;
        theForm.__EVENTARGUMENT.value = eventArgument;
        theForm.submit();
    }
}
//]]>
</script>

错误在theForm.submit();行。

这超出了我的范围。帮助我。

2 个答案:

答案 0 :(得分:1)

所以问题似乎与JavaScript有关。实际上我的页面上有一个按钮ID=submit这是覆盖表单上的submit()函数,因此出错。这helped 为Stackoverflow社区竖起大拇指。

答案 1 :(得分:0)

很抱歉,如果由于声誉低,我无法发表评论。我想知道你是否需要将CauseValidation设置为false。

尝试添加usesubmitbehavior =&#34; false&#34;。