当前位置: 首页 > 面试题库 >

有没有办法保持价值观?-在回发中丢失

羊舌昆杰
2023-03-14
问题内容

我有两个选择用作国家/地区的下拉列表

一切都按我的预期工作,但是当我回发时,我丢失了上面<select...>的值,保留值的最佳方法是什么,请给我一个示例吗?

<asp: Button ID="Button1" runat="server" 
onclick="Button1_Click" Text="PostBack" />

谢谢。


问题答案:

如果您将ASP.NET与某些jQuery一起使用,则可以在回发中设置隐藏字段的值。然后在$(document).ready()中,您只需从隐藏字段中读取该值。

在后面的代码中:

protected void Button1_Click(object sender, EventArgs e)
{
  this.countryField.Value = "WhateverValueYouWantToPersist";
}

在您的aspx文件中:

$(document).ready(function(){
  var persistedValue = <% this.countryField.ClientID %>;
  // do something...
});

<asp:HiddenField runat="server" ID="countryField" />

更新:

我想出了一个更好的解决方案。我希望您只想从选择列表中捕获选择的值,而不必保留整个国家/州的集合。

我将这样设置aspx页面:

<asp:DropDownList runat="server" ID="countryField" />
<asp:DropDownList runat="server" ID="stateField" />

<asp:Button runat="server" ID="button1" OnClick="button1_click" OnClientClick="return clientSideClick()" />

<asp:HiddenField runat="server" ID="hiddenCountry" />
<asp:HiddenField runat="server" ID="hiddenState" />

在我的jQuery中,我将具有处理该单击的函数,该函数将捕获所选值并设置隐藏字段的值:

function clientSideClick() {
    var state = $("#<%= this.stateField.ClientID %> :selected").val();
    $("#<%= this.hiddenState.ClientID %>").val(state);

    var country = $("#<%= this.countryField.ClientID %> :selected").val();
    $("#<%= this.hiddenCountry.ClientID %>").val(country);
}

然后,在服务器端按钮回发事件中,您可以捕获隐藏状态的值,然后从那里做任何事情:

protected void button1_click(object sender, EventArgs e)
{
    string stateValue = this.hiddenState.Value;
    string countryValue = this.hiddenCountry.Value;
}

如果您确实想重新选择先前选择的“国家/州”对,那么在您的jQuery代码使用ajax例程加载“国家/地区”对之后,先前选择的值仍将位于该隐藏字段中,您可以从那里使用这些值。



 类似资料:
  • 大概是这样的: 谢谢[已解决] 也感谢Umer Farooq的回答:从lambda内部修改局部变量

  • 所以我正在做一个需要xml模式的小项目,我对这个模式很不熟悉。 我希望能够设置模式以在两组属性之间进行选择,根据我的研究,这在XSD 1.0中是不可能的,但显然是XSD 1.1的一个特性。 目前我正在使用VisualStudio来完成我的工作,它似乎被困在XSD1.0模式中,这是有意义的,因为XSD1.1显然是一个最新的开发。 我的问题是,是否有一个插件/扩展可以让我在Visual Studio中

  • 问题内容: 我有一个自定义课程, 该类不可迭代或可索引或诸如此类。如果可能的话,我想保持这种方式。是否可以进行以下工作? 我想到的是这个问题,并且在docs中被列为“公共序列操作” 。由于完全相同的文档将其视为序列类型,因此我一直认为必须存在某种可能的优化方法,也许我可以利用它。 也许有一种我不知道的魔术方法可以实现这一目标? 问题答案: 是。当采用一个参数时,它假定它是可迭代的,对其进行迭代并采

  • 问题内容: 有什么办法可以在字典中存储重复的键? 我对形成请求和响应对有具体要求。 从特定节点到另一个特定节点的请求形成相同的密钥。我需要将它们都存储。 但是,如果我尝试将它们添加到字典中,则第一个被替换为第二个。有什么办法吗? 问题答案: 我可以想到两个简单的选项,假设您想继续使用字典。 您可以将键映射到项目列表。一个从模块让一切变得简单。 data = collections.defaultd

  • 我只是想知道我是否有可能返回activePodcastViewData。每当我试图在GlobalScopeactivePodcastViewData.Without调用它时,我都不允许返回,我确实让一切正常工作fine.However我更新了我的存储库,将挂起方法添加到it.Hence我正在获取挂起函数应该只从协程或另一个挂起函数调用。 fun getPodcast(podcastSummaryV

  • 问题内容: 假设我有一个PHP函数foo: 有什么办法只能指定第二个可选参数? 例: 问题答案: PHP本身不支持命名参数作为函数。但是,有一些方法可以解决此问题: 使用数组作为该函数的唯一参数。然后,您可以从数组中提取值。这允许在数组中使用命名参数。 如果要根据上下文允许可选数量的参数,则可以使用func_num_args和func_get_args而不是在函数定义中指定有效参数。然后,根据参数