Onclick javascript引号 - ASP.NET

时间:2013-01-14 13:03:23

标签: asp.net

当变量带引号或单引号时,该功能不起作用。

代码:

<a onclick="javascript:return OpenModal('<%# GeraLog(Eval("loe_id")) %>')" style="cursor:   pointer"> <img src="../Imagens/Visualizar.png" alt="Descrição" /></a>

2 个答案:

答案 0 :(得分:2)

尝试使用字符串连接来解决嵌套引号冲突。

<a onclick='<%# "javascript:return OpenModal(" + GeraLog(Eval("loe_id")) + ");" %>'  style="cursor:   pointer"> <img src="../Imagens/Visualizar.png" alt="Descrição" /></a>

答案 1 :(得分:0)

我找到了解决方案!我保留了我的代码:

<a onclick="javascript:return OpenModal('<%# GeraLog(Eval("loe_id")) %>')" style="cursor:   pointer"> <img src="../Imagens/Visualizar.png" alt="Descrição" /></a>

在我使用的代码中:

public string GeraLog(object loe_id)
    {
        tab_log tabLog = new tab_log { Tab_usuarios = { usu_id = Convert.ToInt32(ddlUsuario.SelectedValue) } };

        DateTime? Nulo = null;

        tabLog.log_data_inicio = txtPeriodoDe.Text == string.Empty ? Nulo : DateTime.Parse(txtPeriodoDe.Text);
        tabLog.log_data_final = txtPeriodoAte.Text == string.Empty ? Nulo : DateTime.Parse(txtPeriodoAte.Text);
        tabLog.Tab_usuarios.usu_id = Convert.ToInt32(ddlUsuario.SelectedValue);
        tabLog.loe_id = (int)loe_id;

        string tabela = ddlModulos.SelectedValue;

        DataTable table = tabLog.SelectLogModal(tabLog, tabela);

        System.Text.StringBuilder sb = new System.Text.StringBuilder();

        foreach (DataRow row in table.Rows)
        {
            sb.Append("O usuário: ");
            sb.Append(row["quem_alterou"]);
            sb.Append(" alterou o campo ");
            sb.Append(row["campo_alterado"]);
            sb.Append(" de ");
            sb.Append(row["valor_anterior"].ToString().Replace("\"", "&quot").Replace("\'", "&lsquo;"));
            sb.Append(" para ");
            sb.Append(row["valor_atual"].ToString().Replace("\"", "&quot").Replace("\'", "&lsquo;"));
            sb.Append(" | ");
            sb.Append(row["data"]);
            sb.Append(" - ");
            sb.Append(row["hora"]);
            sb.Append("<br>");
        }

        loe_id = sb;

        if (loe_id.ToString() == "")
        {
            loe_id = "Nenhuma informação alterada";
        }

        return loe_id.ToString();
    }

谢谢你们。