Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/272.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Request.QueryString don´;我不能接受价值观_Javascript_C#_Asp.net_Interop_Query String - Fatal编程技术网

Javascript Request.QueryString don´;我不能接受价值观

Javascript Request.QueryString don´;我不能接受价值观,javascript,c#,asp.net,interop,query-string,Javascript,C#,Asp.net,Interop,Query String,各位早上好, 我有一个系统,它需要发送一封电子邮件,其中包含我JS中的一些变量。代码在开始时看起来很好,但是Request.QueryString没有返回任何内容。我试图用Request.URL.ToString()从URL接收数据,这会显示JS发送的所有URL,这意味着JS正在发送,但Request.QueryString无法读取这些值 有人能帮我吗? 下面我展示了代码 <script type="text/javascript"> var nomeCarinha; $(

各位早上好,

我有一个系统,它需要发送一封电子邮件,其中包含我JS中的一些变量。代码在开始时看起来很好,但是Request.QueryString没有返回任何内容。我试图用Request.URL.ToString()从URL接收数据,这会显示JS发送的所有URL,这意味着JS正在发送,但Request.QueryString无法读取这些值

有人能帮我吗? 下面我展示了代码

 <script type="text/javascript">

 var nomeCarinha;

 $(document).on("click", "[id*=lnkView]", function () {
         $("#nome").html($(this).closest("tr").find("td.sDisplayName").text());
         $("#Product").html($(this).closest("tr").find(".Produto").text());
         $("#IP").html($(this).closest("tr").find("td.sNetworkAddress").text());
         $("#DC").html($(this).closest("tr").find("td.dc").text());
         $("#comentario").html($(this).closest("tr").find("td.sComment").text());
         $("#inicio").html($(this).closest("tr").find("td.inicio").text());
         $("#mensagem").html($(this).closest("tr").find(".mensagem").text());
         $("#monitor").html($(this).closest("tr").find("td.sMonitorTypeName").text());
         $("#dialog").dialog({
             width: 1000,
             title: "Detalhes para TP",
             buttons: {

                 Email: function (nome) {
                     var width = 150;
                     var height = 250;
                     var left = 99;
                     var top = 99;
                     var nome = $(this).find("#nome").text();
                     var produto = $(this).find("#product").text();
                     var ip = $(this).find("#IP").text();
                     var dc = $(this).find("#DC").text();
                     var comentario = $(this).find("#comentario").text(); 
                     var inicio = $(this).find("#inicio").text();
                     var mensagem = $(this).find("#mensagem").text();
                     var monitor = $(this).find("#monitor").text();

                     var janeleira = window.open("outlookPrimeiro.aspx?nomeDevice="+nome+"&nomeIp"+ip+"&nomeDc="+dc+"&nomeComentario="+comentario+"&nomeInicio="+inicio+"&nomeMonitor="+monitor, 'janela', 'width=' + width + ', height=' + height + ', top=' + top + ', left=' + left + ', scrollbars=yes, status=no, toolbar=no, location=no, directories=no, menubar=no, resizable=no, fullscreen=no, setTimeout=1000');
                // Rescrever no outlookprimeiro.aspx para tirar os + no lugar de espaço da URL 
                     },

                 Ok: function () {
                     $(this).dialog('close');
                 }

             },
             modal: true
         });

         return false;
     });

     function blinker() {
         $('.blink').fadeOut(500);
         $('.blink').fadeIn(500);
     }

     setInterval(blinker, 1000); //Runs every second

var nomeCarinha;
$(文档)。在(“单击”、“[id*=lnkView]”上,函数(){
$(“#nome”).html($(this.closest(“tr”).find(“td.sDisplayName”).text());
$(“#Product”).html($(this.closest(“tr”).find(“.Produto”).text());
$(“#IP”).html($(this.closest(“tr”).find(“td.sNetworkAddress”).text());
$(“#DC”).html($(this.closest(“tr”).find(“td.DC”).text());
$(“#comentario”).html($(this.closest(“tr”).find(“td.sComment”).text());
$(“#inicio”).html($(this.closest(“tr”).find(“td.inicio”).text());
$(“#mensagem”).html($(this.closest(“tr”).find(“.mensagem”).text());
$(“#监视器”).html($(this.closest(“tr”).find(“td.sMonitorTypeName”).text());
$(“#对话框”)。对话框({
宽度:1000,
标题:“第TP段详情”,
按钮:{
电子邮件:功能(nome){
var宽度=150;
var高度=250;
左向量=99;
var-top=99;
var nome=$(this.find(“#nome”).text();
var produto=$(this.find(#product”).text();
var ip=$(this.find(#ip”).text();
var dc=$(this.find(#dc”).text();
var comentario=$(this).find(“#comentario”).text();
var inicio=$(this.find(“#inicio”).text();
var mensagem=$(this.find(#mensagem”).text();
var monitor=$(this.find(#monitor”).text();
var janeleira=window.open(“outlookPrimeiro.aspx?nomeDevice=“+nome+”&nomeIp“+ip+”&nomeDc=“+dc+”&nomeComentario=“+comentario+”&nomeInicio=“+inicio+”&nomeMonitor=”+监视器,'janela','width='+width+','height='+height+',top='+top+',left='+left+',滚动条=是,状态=否,工具栏=否,位置=否,目录=否,菜单栏=否,可调整大小=否,全屏=否,设置超时=1000');
//没有前瞻性的预测。aspx para tirar os+没有西班牙航空公司的URL
},
Ok:函数(){
$(this.dialog('close');
}
},
莫代尔:对
});
返回false;
});
函数闪烁器(){
$('.blink')。淡出(500);
$('.blink').fadeIn(500);
}
设置间隔(闪烁,1000)//每秒钟跑一次

以及接收:

using System;
using System.Text;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
//NECESSÁRIO PARA USAR MARSHALL
using System.Runtime.InteropServices;

//NECESSARIO PARA USAR O OUTLOOK
using aqueleLance = Microsoft.Office.Interop.Outlook;
using OutlookApp = Microsoft.Office.Interop.Outlook.Application;
using testeUsingPrimeiro = Microsoft.Office.Interop.Outlook._AutoFormatRule;
using testeUsingSegundo = Microsoft.Office.Interop.Outlook._AutoFormatRules;
using testeUsingTerceiro = Microsoft.Office.Interop.Outlook.AutoFormatRule;
using testeUsingQuarto = Microsoft.Office.Interop.Outlook.AutoFormatRules;


public partial class outlookPrimeiro : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        String nomeDevice = Request.Url.ToString();
        //String nomeProduto = "TESTE";
        String nomeIp = Request.QueryString["ip"];
        String nomeDc = Request.QueryString["dc"];
        String nomeComentario = Request.QueryString["comentario"];
        String nomeInicio = Request.QueryString["inicio"];
        String nomeMonitor = Request.QueryString["monitor"];

    //DEFINICICOES DE DADOS DO E-MAIL A SER ENVIADO
        String paraEmail = "noc@email.com.br";
        String copiaEmail = "mateus@email.com.br";
        //String copiaOculta = "";
        String assuntoEmail = "Usando Outlook 2013
        String corpo = "<html><body><div style='width:95%;text-align: center;background-color: black'><table style='width: 100%;text-align: center'><tr style='background-color:#5B2E90'><td style='color: white'>Prioridade</td><td style='color: white'>Acionamento</td><td style='color: white'>KBN</td><td style='color: white'>Device</td><td style='color: white'>IP</td><td style='color: white'>DC</td><td style='color: white'>WUG</td><td style='color: white'>Diretorio</td><td style='color: white'>Monitor</td><td style='color: white'>Comentario</td><td style='color: white'>Tempo Down</td><td style='color: white'>Inicio</td><td style='color: white'>TP</td></tr><tr><td style='color: orange'>Prioridade</td><td style='color: orange'>Acionamento</td><td style='color: orange'>KBN</td><td style='color: orange'>" + nomeDevice + "</td><td style='color: orange'>" + nomeIp + "</td><td style='color: orange'>" + nomeDc + "</td><td style='color: orange'>WUG</td><td style='color: orange'>Diretorio</td><td style='color: orange'>" + nomeMonitor + "</td><td style='color: orange'>COMENTARIO</td><td style='color: orange'>Tempo Down</td><td style='color: orange'>" + nomeInicio + "</td><td style='color: orange'>TP</td></tr></table></div></body></html>";

        //CRIA NOVO APP USANDO Microsoft.Office.Interop.Outlook.Application
        OutlookApp appDoOutlook = new OutlookApp();

        //CRIA E-MAIL
        aqueleLance.MailItem itemDoMail = appDoOutlook.CreateItem(aqueleLance.OlItemType.olMailItem) as aqueleLance.MailItem;

        //QUAL CONTA VAI ENVIAR?  NECESSÁRIO TER A CONTA NA MÁQUINA
        string nomeDaConta = "noc@linx.com.br";

        //CRIA SESSÃO
        aqueleLance.NameSpace sessao = itemDoMail.Session;

        //PEGA CONTAS PRESENTES NA MÁQUINA
        aqueleLance.Accounts contaAccounts = sessao.Accounts;

        //FOR 1 ATÉ FINAL DO NÚMERO DE CONTAS
        for (int i = 1; i <= contaAccounts.Count; i++)
        {
            //aqueleLance.Account contaAccount RECEBE O VALOR DO FOR
            aqueleLance.Account contaAccount = contaAccounts[i];

            //SE A CONTA EXISTE, ELE VAI ENVIAR
            //(COMPARAÇÃO FEITA EM LOWER CASE
            if (contaAccount.DisplayName.ToLower() == nomeDaConta.ToLower())
            {
                //COMANDO PARA ENVIAR USANDO A CONTA XXXXX
                itemDoMail.SendUsingAccount = contaAccount;

                //LIBERA VARIAVEL
                Marshal.ReleaseComObject(contaAccount);

                //PARA O COMANDO
                break;
            }
        }
        //PARA QUEM ENVIA O E-MAIL
        itemDoMail.To = paraEmail;

        //ENVIAR COM COPIA PARA
        itemDoMail.CC = copiaEmail;

        //COPIA OCULTA
        //itemDoMail.BCC = copiaOculta;

        //ASSUNTO DO EMAIL
        itemDoMail.Subject = assuntoEmail;

        //CORPO DO EMAIL EM HTML
        itemDoMail.HTMLBody = corpo;
        //"<html><body>Enviado pelo <strong>Outlook</strong> 2013<br/> Teste do envio com CC e BCC.<br/><br/></body></html>"
        //IMPORTANCIA DO EMAIL
        itemDoMail.Importance = aqueleLance.OlImportance.olImportanceHigh;

        //ENVIA O EMAIL
        //NÃO É POSSÍVEL VER ANTES DE ENVIAR SEM HABILITAR O DISPLAY ABAIXO
        //itemDoMail.Send();

        //HABILITE ISSO PARA VER A MENSAGEM ANTES DE ENVIAR
        //PRECISA TIRAR O SEND ACIMA
        itemDoMail.Display(false);            

        //LIBERA CONTAS
        Marshal.ReleaseComObject(contaAccounts);

        //LIBERA SESSÃO
        Marshal.ReleaseComObject(sessao);
}
}
使用系统;
使用系统文本;
使用System.Collections.Generic;
使用System.Linq;
使用System.Web;
使用System.Web.UI;
使用System.Web.UI.WebControl;
//马歇尔
使用System.Runtime.InteropServices;
//展望未来
使用aquelance=Microsoft.Office.Interop.Outlook;
使用OutlookApp=Microsoft.Office.Interop.Outlook.Application;
使用TestUsingPrimeiro=Microsoft.Office.Interop.Outlook.\u自动格式化规则;
使用TestUsingSegundo=Microsoft.Office.Interop.Outlook.\u自动格式化规则;
使用TestUsingTerceiro=Microsoft.Office.Interop.Outlook.AutoFormatRule;
使用TestUsingQuarto=Microsoft.Office.Interop.Outlook.AutoFormatRules;
公共部分类outlookPrimeiro:System.Web.UI.Page
{
受保护的无效页面加载(对象发送方、事件参数e)
{
字符串nomeDevice=Request.Url.ToString();
//字符串nomeProduto=“TESTE”;
字符串nomeIp=Request.QueryString[“ip”];
字符串nomeDc=Request.QueryString[“dc”];
字符串nomeComentario=Request.QueryString[“comentario”];
字符串nominicio=Request.QueryString[“inicio”];
字符串nomeMonitor=Request.QueryString[“monitor”];
//明确地说,护墙板是通过电子邮件发送的
字符串paraEmail=”noc@email.com.br";
字符串copiaEmail=”mateus@email.com.br";
//字符串copiaOculta=“”;
String assuntoEmail=“Usando Outlook 2013
字符串corpo=“prioridadeactionamentokbn设备pdcwugdirectoromonitoromentariotempo downiciiotpprioridadeactionamentokbn”+nomeDevice+“”+nomeIp+“”+nomeDc+“wugdirectorio”+nomeMonitor+“COMENTARIOTempo Down”+nominicio+“TP”;
//CRIA NOVO应用程序USANDO Microsoft.Office.Interop.Outlook.Application
OutlookApp appDoOutlook=新的OutlookApp();
//CRIA电子邮件
AQUELEANCE.MailItem itemDoMail=appDoOutlook.CreateItem(AQUELEANCE.OlItemType.olMailItem)作为AQUELEANCE.MailItem;
//我们是否需要一个环境保护区
字符串nomeDaConta=”noc@linx.com.br";
//CRIA SESSÃO
aquelenance.NameSpace sessao=itemDoMail.Session;
//佩加·康塔斯介绍了纳姆·奎纳
Accounts contaaaccounts=sessao.Accounts;
//在康塔斯的最后一场比赛中获得1分
对于(int i=1;i尝试更改:

String nomeIp = Request.QueryString["ip"];

等等

此外,还有一些小的打字错误。+“&nomeIp”+ip+应该是+“&nomeIp=“+ip+尝试更改:

String nomeIp = Request.QueryString["ip"];

等等


此外,还有一些小的输入错误。+“&nomeIp”+ip++应该是+“&nomeIp=“+ip+

您的值没有使用相同的键:

"nomeDevice="+nome+"&nomeIp="+ip+"&nomeDc="+dc+"&nomeComentario="+comentario+"&nomeInicio="+inicio+"&nomeMonitor="+monitor
因此,您还应该在C代码中阅读以下内容:

还要注意的是,您应该绝对避免使用JavaScript端的内容,否则您的用户可能会通过在comentario中使用例如
&
来使请求失败…例如:

"outlookPrimeiro.aspx"+
"?nomeDevice="+encodeURIComponent(nome)+
"&nomeIp="+encodeURIComponent(ip)+
"&nomeDc="+encodeURIComponent(dc)+
"&nomeComentario="+encodeURIComponent(comentario)+
"&nomeInicio="+encodeURIComponent(inicio)+
"&nomeMonitor="+encodeURIComponent(monitor)

您的值没有使用相同的键
"outlookPrimeiro.aspx"+
"?nomeDevice="+encodeURIComponent(nome)+
"&nomeIp="+encodeURIComponent(ip)+
"&nomeDc="+encodeURIComponent(dc)+
"&nomeComentario="+encodeURIComponent(comentario)+
"&nomeInicio="+encodeURIComponent(inicio)+
"&nomeMonitor="+encodeURIComponent(monitor)