0

前两个函数运行良好,但第三个函数有一些错误不清楚。这是所有代码,您能帮我完成最后一个功能吗?

WebService1.asmx 中的代码

using System.ComponentModel;
    using System.Web.Services;
    using System.Text;
    using System.IO;

namespace WebApplication1
{
    [WebService(Namespace = "http://tempuri.org/")]
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
    [ToolboxItem(false)]
    [System.Web.Script.Services.ScriptService]
    public class WebService1 : System.Web.Services.WebService
    {

        [WebMethod]
        public string HelloWorldFun1()
        {
            return "Hello World";
        }
        [WebMethod]
        public string HelloWorldFun2(string str)
        {
            return "Hello World,"+str;
        }
        [WebMethod]
        public string Write_to_File(string str)
        {
            StreamWriter _testData = new StreamWriter(Server.MapPath("~/output.txt"), true);
            _testData.WriteLine(str); // Write the file.
            _testData.Flush();
            _testData.Close(); // Close the instance of StreamWriter.
            _testData.Dispose(); // Dispose from memory. 
            return str;
        }

    }
}

Default.aspx 中的代码

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>WebService</title>
    <script type="text/javascript" language="javascript">
        function func1()
        {        
        WebApplication1.WebService1.HelloWorldFun1(onSuccess,onFail,'Span1');
        }
        function func2()
        {
        var txt=document.getElementById('Text1').value;
        WebApplication1.WebService1.HelloWorldFun2(txt,onSuccess,onFail,'Span2');
        }
        function write()
        {
        var txt = document.getElementById("Span1").innerHTML;
        WebApplication1.WebService1.Write_to_File("kkkkkkkkkk",onSuccess,onFail,'Span3');
        }
        function onSuccess(value,context)
        {
        document.getElementById(context).innerHTML=value;
        }
        function onFail(value)
        {
        alert(value);
        }
    </script>
</head>
<body>
    <form id="form1" runat="server">
    <asp:ScriptManager ID="ScriptManager1" runat="server" EnablePageMethods="true">
    <Services>
        <asp:ServiceReference Path="~/WebService1.asmx"  />
    </Services>
    </asp:ScriptManager>
    <input id="Button1" type="button" value="button"  onclick="func1()" />&nbsp;&nbsp;&nbsp;&nbsp;<span id="Span1"></span>
    <hr />
    <input id="Text1" type="text" /><input id="Button2" type="button" value="button"  onclick="func2()" /><span id="Span2"></span>
    </form> 
    <input id = "WTF" type = "button" value = "write" onclick ="write()"/><span id="Span3"></span>
</body>
</html>
4

3 回答 3

0

1) 错误是什么?(运行时异常\堆栈跟踪或其编译错误?)

2) _testData.Close(); // 关闭 StreamWriter 的实例。_testData.Dispose(); // 从内存中释放。

调用 Close() 就足够了(这类似于 Dispose,因此您要处理两次......不是错误,但仍然很高兴知道。)

于 2012-09-04T09:06:56.423 回答
0

Web 服务似乎没问题,并且可以正常工作(否则您会遇到异常)。Default.aspx 似乎有问题。

我建议使用 JQuery 来调用 Web 服务。

于 2012-09-04T10:07:21.100 回答
0

我已经知道原因了。应该有一些名为“write()”的定义函数。我只是将名称“write()”更改为“write_to()”,然后效果很好。感谢您的回答,维塔利卡斯普勒。

于 2012-09-05T01:23:37.700 回答