【问题标题】:jquery window values are not accessible in asp.net code behind在 asp.net 后面的代码中无法访问 jquery 窗口值
【发布时间】:2013-09-05 23:19:11
【问题描述】:

我已经按照here写的答案进行了操作

但是有些我无法在后面的代码中获取值。

下面是我的代码示例

    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
    </script>
        <script type="text/javascript">
            $(document).ready(function () {
                $("#width").val() = $(window).width();
                $("#height").val() = $(window).height();
                });
        </script>
    </head>
<body>
<form id="form1" runat="server">
<asp:HiddenField ID="width" runat="server" />
<asp:HiddenField ID="height" runat="server" />
<asp:ImageButton ID="MySearchButton" runat="server" Height="38" ImageUrl="~/Images/search-button-without-text-md.png" OnClick="MySearchButton_Click" />
</form>
</body>
</html>

这是我的代码

protected void MySearchButton_Click(object sender, ImageClickEventArgs e)
{
   var BrowserWidth = width.Value;
   var BrowserHeight = height.Value;
}

但有些我无法获得浏览器的高度和宽度。值为空。有人可以建议我在这里做错了什么吗?

【问题讨论】:

  • 您的语法基本上是“object.method() = value”。这种语法没有意义。请记住,jQuery 只是库提供的一组对象和函数,它不会改变 JS 语言以使方法接受赋值。

标签: c# javascript jquery asp.net


【解决方案1】:

试试http://api.jquery.com/val/#val2

$(document).ready(function () {
    $("#width").val($(window).width());
    $("#height").val($(window).height());
});

$.prototype.val 充当混合 get/set 即 getter 时调用 w/o 参数和 setter w/ 参数。 $inst.val() - 获取字段值。 $inst.val(value) - 设置字段值。

【讨论】:

  • 它就像一个魅力。谢谢尤里。你能解释一下有什么问题吗?语法?
  • @RitheshBaradi 添加了简要说明。
  • 嗨,yury,很抱歉再次打扰您。在 IIS 服务器上托管我的 Web 应用程序后,这在除 IE 之外的其他浏览器上运行良好。在 IE 中,窗口高度和宽度没有值。对此有什么想法吗??
  • @RitheshBaradi 嗯。它对我有用(我已经检查过 IE10)。您的页面上是否指定了 doctype? &lt;!DOCTYPE html&gt;
猜你喜欢
  • 2011-09-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-02-27
  • 2020-01-11
  • 2010-11-21
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多