Web服务中的文本字段

时间:2012-04-09 09:07:18

标签: c# asp.net web-services textbox

我用c#在asp.net中创建了Web服务。 现在我想传递一些查询,我希望通过用户提供一些输入。 我用select和insert查询创建了方法。 但是我可以通过一些文本框输入输入吗?

“我想选择一些日期和日期的员工姓名将是文本框值。 提前致谢

当我运行这个webservice它向我展示了这个方法。但是当我尝试INVOKE这个方法时,显示错误“网站无法显示该页面 “ 我使用过这个代码:

    [WebMethod]
    public string GetEmps()
    {
        string s1 = txtMonth.Text;
        string getdays = "Select Emp from WorkingDaysinfo Where date = 's1'";
        con = new MySqlConnection(conString);
        con.Open();
        MySqlCommand cmd = new MySqlCommand(getdays, con);
        MySqlDataAdapter da = new MySqlDataAdapter(cmd);
        DataTable dt = new DataTable();
        da.Fill(dt);
        con.Close();

        string jsonString = JsonConvert.SerializeObject(dt);
        String finalString = "{\"EMP count\":";
        finalString += jsonString;
        finalString += "}";
        return finalString;
    }

2 个答案:

答案 0 :(得分:1)

最有可能的是,您的Web服务代码抛出了异常,因此浏览器显示了一般错误消息。您可以通过在Web服务代码中放置断点或使用try-catch块来记录异常来找出异常详细信息。

根据您的代码和要求,最可能的问题似乎是您可能正在将文本字符串传递给日期列。 Web服务方法可以使用方法参数接受一些输入(您不能将表单中的控件用于Web服务),并且可以使用参数将其传递给数据库。例如,

[WebMethod]
public string GetEmps(DateTime inputDate)
{
    // create a parameterized query
    string getdays = "Select Emp from WorkingDaysinfo Where date = @inputDate";

    con = new MySqlConnection(conString);
    con.Open();
    MySqlCommand cmd = new MySqlCommand(getdays, con);
    // pass the parameter value 
    cmd.Parameters.Add(new SqlParameter("inputDate", inputDate);

    // rest of the code follows
    ..

答案 1 :(得分:0)

请在网站应用程序中添加Web服务引用,并尝试从自身传递参数。