1

変数に引用符または一重引用符がある場合、関数は機能しません。

コード:

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

2 に答える 2

2

文字列連結を使用して、ネストされた引用符の競合を解決してみてください。

<a onclick='<%# "javascript:return OpenModal(" + GeraLog(Eval("loe_id")) + ");" %>'  style="cursor:   pointer"> <img src="../Imagens/Visualizar.png" alt="Descrição" /></a>
于 2013-01-14T13:06:07.330 に答える
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();
    }

君たちありがとう。

于 2013-01-14T17:57:01.003 に答える