gpt4 book ai didi

c# - 获取自定义属性的回传值

转载 作者:行者123 更新时间:2023-11-30 22:04:55 25 4
gpt4 key购买 nike

所以,我有一个代码:

protected override void Render(System.Web.UI.HtmlTextWriter writer)
{
writer.AddAttribute("data-value", "{ \"test\": 3 }");
base.Render(writer);
}

我正在使用一个名为 DataField 的新类,它继承了 HiddenField。这样做的全部目标是能够发送一个 JSON 对象,从客户端修改它,然后将它发回服务器。所以,使用 jQuery:

var data = $('#DataField').data('value');
data.test = 1;
$('#DataField').attr('data-value',JSON.stringify(data));

现在,从这里,我怎样才能从那里的服务器回发 data-value 属性?我知道整个页面都被回发了,所以,它应该在某个地方,不是吗?
覆盖 LoadPostData 没有帮助,因为其中包含的属性只有 value 而没有其他内容。

最佳答案

I know that the whole page is posted back, so, it should be somewhere, no?

没有。 “整个页面”未发布到服务器。表单值被发布到服务器。为了让服务器端代码(基本上是 DataField 的实例)接收一个值,需要将其设置为该 输入类型的 value ="隐藏"data-* 属性在客户端使用,它们不会作为表单的一部分发布到服务器。

所以当你这样做的时候:

$('#DataField').attr('data-value',JSON.stringify(data));

您还需要这样做:

$('#DataField').val(JSON.stringify(data));

这会将 data 的 JSON 编码字符串设置为 input type="hidden" 的值,该值将回传到服务器并在此处可用:

SomeDataField.Value

关于c# - 获取自定义属性的回传值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24741296/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com