Ошибка веб-метода с формой

Я обнаружил, почему он дает мне ошибку, вызывая webmethod, и это происходит из-за того, что берется переменная из text, которая находится внутри <form runat="server">. Код method выглядит следующим образом:

    using System.Web.Script.Services;

  namespace PortalClientes
{
/// <summary>
/// Summary description for Funciones
/// </summary>
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
//[System.ComponentModel.ToolboxItem(false)]
// To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line. 
[System.Web.Script.Services.ScriptService]
public class Funciones : System.Web.Services.WebService
{

    [WebMethod]
    [ScriptMethod(ResponseFormat = ResponseFormat.Json)]
    public string sendMail(string CIF)
    {


        return "OK";
    }

}
}

И код, откуда я звоню webmethod, выглядит следующим образом:

  <!DOCTYPE html>

  <html xmlns="http://www.w3.org/1999/xhtml">
 <head runat="server">
<title></title>
    <script src="Scripts/jquery-1.10.2.min.js"></script>
   </head>

  <body>   
 ***<form runat="server">***
<div>
    <input type="text" id="CIF" />
    <button id="butEnviarMail">Enviar Mail</button>    
</div>    
 ***</form>***

 <script type="text/javascript">
$("#butEnviarMail").click(function () {

    enviaMail();        
});

function enviaMail() {

    var textcif = $("[id*='CIF']").val();

    $.ajax({
        type: "POST",
        async:true,
        url: "Funciones.asmx/sendMail",
        data: "{'CIF': '" + textcif + "'}",
        cache: true,
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: env,
        error: errorAjax
        });
}
   function env(msg) {

           alert(msg.d);

   }
   function errorAjax(xmlHttpRequest, textStatus, errorThrown) {
       alert(xmlHttpRequest.responseText);
       alert(textStatus);
       alert(errorThrown);
   }

При вызове помещая div внутрь того div, которое я выделяю звездочками (в реальном коде у него нет тех звездочек , это просто видно здесь), это дает мне ошибку Ajax и если я удаляю это form, он возвращает меня OK правильно, вы знаете, почему это может быть и как я могу заставить его работать, имея form?

0
задан 10.01.2017, 19:35
0 ответов

В конце концов я нашел ошибку. Это из-за того, что звонит в метод из одного button нормальный и не один asp:Button.

0
ответ дан 03.12.2019, 17:46