-1

我正在尝试使用 AJAX 从 C# 中的静态函数读取网页上字段的值。我的问题是:我必须在 C# 部分中使用哪一行代码从具有 runat="server" 标记的 HTML 输入中读取数据?

这是字段:

<script>
    function readfield() {
        PageMethods.readfield(readfieldc);
    }
    function readfieldc(texte) {
        alert(texte);
    }
</script>
<asp:label id="myfield" runat="server" />
<input type="button" onclick="readfield()" value="submit" />

和 C# 代码:

[Webmethod()]
public static void readfield()
{
    return Request["myfield"]; //This line is what I want to achieve
}

我实际上不知道要使用什么代码来执行此操作

帮助将不胜感激。

谢谢

4

4 回答 4

1

如果这只是使用标准回发,那么您应该能够使用 Response.Forms (使用当前创建输入的方式)

var myField = Request.Form["myField"];

如果您使用客户端(通过 JavaScript)使用它并想将它传递给 web 方法,我会读到这个:

http://encosia.com/using-jquery-to-directly-call-aspnet-ajax-page-methods/

您还可以添加 runat="server"

<input name="myfield" id="myfield" value="" runat="server" />

或使该字段完全成为服务器端控件

<asp:TextBox id="myField" runat="server"/>

然后在你的函数中你可以访问它:

public static void readfield()
{
    var myValue = myValue.text;
}
于 2012-12-13T12:59:53.780 回答
1

试试下面的例子,它应该解释你想要达到的目标。你想要达到的目标不是 100% 清楚,但我觉得这个链接应该有帮助。这应该计入 Web 服务中的静态或普通方法。

Asp.net WebService 或 在asp.net 中创建和使用WebService 或 在asp.net 中创建和调用webservice 或如何创建webservice 以及如何在asp.net 中使用webservice

于 2012-12-13T13:00:33.683 回答
0

您需要添加runat="server"

<input name="myfield" id="myfield" value="" runat="server"/>
于 2012-12-13T12:59:27.203 回答
-1

我最终使用了 JQuery serializeArray 正是这样做的

于 2013-05-13T19:23:29.163 回答