DropDownList-项目在回发时为空

2023-12-20

我有 DropDownList,我必须将其填充到与另一个控件的单击事件关联的事件中。数据已填充并存在,但当我选择一个值并回发时,该值为空。这意味着视图状态不起作用。解决方案说在 Init() 中填充 DropDown 但我不能,因为要求不允许这样做。我必须在单击事件上填充它..启用了视图状态..以下代码填充了DropDown..

if (e.CommandName == "Add Friend")         
{
   HtmlGenericControl divMySub = (HtmlGenericControl)GridViewUserSubjects.Rows[Convert.ToInt32(e.CommandArgument)].FindControl("divMySubjects");
   divMySub.Style["display"] = "block";

   DropDownList mySub = (DropDownList)GridViewUserSubjects.Rows[Convert.ToInt32(e.CommandArgument)].FindControl("DropDownListMySubjectz");
   UpdatePanel mySubPanel = (UpdatePanel)GridViewUserSubjects.Rows[Convert.ToInt32(e.CommandArgument)].FindControl("UpdatePanelRequestAction");
   DataView SubjectTableView = ProfileDataAccess.GetUserUnusedSubjectsForRequest(UserId ,RequesterId).DefaultView;
   if (SubjectTableView.Count > 0)
   {
       mySub.DataSource = SubjectTableView;
       mySub.DataTextField = "Name";
       mySub.DataValueField = "Id";
       mySub.DataBind();

   } 
   else
   {
       divMySub.InnerText = "Requests Complete";
       LinkButton buttonlink= (LinkButton)sender;
       buttonlink.Enabled = false;
   }
      mySubPanel.Update();
}

以下是从下拉列表中检索值的回发代码。下拉列表位于 Gridview 行内。

protected void LinkButtonAddFriend_Command(object sender, CommandEventArgs e)
{
    Guid RequestedId = new Guid(Membership.GetUser().ProviderUserKey.ToString());
    Guid UserId = new Guid(HiddenFieldUserId.Value.ToString());
    int UserSubjectId = Convert.ToInt32 (GridViewUserSubjects.DataKeys[Convert.ToInt32(e.CommandArgument)].Value);
    DropDownList DDL = (DropDownList)GridViewUserSubjects.Rows[Convert.ToInt32(e.CommandArgument)].FindControl("DropDownListMySubjectz");
    LinkButton RequestAction = (LinkButton)GridViewUserSubjects.Rows[Convert.ToInt32(e.CommandArgument)].FindControl("LinkButtonFriendAction");
    int RequesterSubjectId = Convert.ToInt32(DDL.SelectedItem.Value);

    if (FriendsDataAccess.InsertRequest(UserId, RequestedId, UserSubjectId, RequesterSubjectId))
    {
        RequestAction.Text = "Remove Request";
        RequestAction.Enabled = true;
    }
}

DDL是有麻烦的Dropdown。


您什么时候进行数据绑定GridView这是容器DropDownList?你把它包裹在一个if(!IsPostBack)-查看?当您进行数据绑定时GridView子控件总是“重置”。

如果您使用声明性数据绑定控件,例如ObjectDataSource你应该避免this.databind()如果没有必要的话。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

DropDownList-项目在回发时为空 的相关文章

随机推荐

  • 调度多个 .NET Core 控制台应用程序

    我能够安排测试 NET Core 控制台应用程序 将程序 脚本设置为 dotnet 将参数设置为 mytestnetcoreconsoleapp dll 并将启动目录设置为包含 dll 的目录 不过 对于多个控制台应用程序来说 这样做是否正
  • 我们可以在没有 JavaScript 的情况下制作“打印”按钮吗?

    我们可以在没有 JavaScript 的情况下制作 打印 按钮吗 打开浏览器打印窗口 HTML 没有针对锚标记或输入按钮 或其他任何内容 的内置 打印 操作 因此 JavaScript 是您的方式 您还可以为用户提供有关如何使用 文件 gt
  • 从 git 存储库获取版本号

    我们有一个构建系统 它使用 svn ID 作为需要五位数字的 VM 构建器设备的输入 当我从 git 构建时 我一直通过计算 git 存储库中的提交数量来伪造这一点 这只是一种工作 我正在努力弄清楚 如何从 git 存储库中获取唯一的 5
  • 验证 Windows Phone 应用内购买收据

    我正在开发 Windows Phone 8 应用程序 我的应用程序将包含应用内购买 我试图理解收据的概念 据我了解 当有人在我的应用程序内购买产品后 会生成收据
  • 使用 C# 从网站下载文件

    我正在尝试使用以下代码从网站下载文件 WebClient webClient new WebClient webClient DownloadFile http www nseindia com content historical EQU
  • -bash: ./deploy.sh: 权限被拒绝,错误:脚本返回退出代码 126

    我正在尝试使用 Jenkins 实现持续部署 这涉及到将 jar 文件发送到远程服务器 并在远程服务器上启动该 jar 文件 问题是我不断收到访问被拒绝错误 并且我已经尝试了远程和本地服务器上的每个帐户似乎都不起作用 我犯了同样的错误 詹金
  • 为什么选择选择更改多个提交?

    我这里有 2 个分支 即分支 1 和分支 2 分支1增加了很多新功能 分支2也很稳定 今天 我只想将分支 1 中的 1 个功能合并到分支 2 中 所以 我只是跑git cherry pick
  • Drupal 7 - 如何从模块加载模板文件?

    我正在尝试在 Drupal 7 中构建自己的模块 所以我创建了一个名为 moon 的简单模块 function moon menu items array items moon array title gt description gt t
  • LINQ to Entities 在 DateTime.DayOfWeek 上加入

    想象两个表 班次 RANK S DAY Shifts 包含一个 ShiftDate 列 它是DateTime并且 RANK S DAY 有一个DayOfWeek柱子 我需要加入 int ShiftDate DayOfWeek equals
  • toUpperCase() 没有使字符串大写

    我不知道我做错了什么 但不知何故 toUpperCase 字符串函数在我的浏览器上不起作用 或者我弄错了什么 var string kjsdgfiIJHBVSFIU string toUpperCase console log string
  • Android - mediarecorder 的最大 maxfilesize 是多少?

    Android 对于 Android 媒体记录器 setMaxFileSize 可以设置的最大文件大小是多少 我知道它在 4147483650 和 5147483650 之间 为什么首先要有限制 我正在录制到 SDCARD 在运行之前检测卡
  • 使用 spring 在 Ibm Websphere MQ 中实现重试逻辑

    我正在使用 Spring 和 Websphere MQ 进行以下消息传递配置 我需要实现一个场景的重试逻辑 其中我从队列接收消息并将消息数据放到弹性搜索服务器 搜索服务器是非事务性的 如果搜索服务器关闭 我必须回滚消息再次放入队列并在一段时
  • 如何在Rails中管理3个多对多模型

    我正在跟进铁路广播公司 http railscasts com episodes 47 two many to many制作不同模型进行维护的建议many to many关系 但是 我在提取传递关系数据时遇到问题 假设有 3 个多对多模型
  • Android 2.2 - 如何检测我是否安装在 SDCard 上?

    我正在编写一个存储大量媒体文件的 Android 应用程序 它们不是那种会弄乱用户通知或其他媒体目录的类型 而且数量太多 但它们也必须是用户可更新的 所以我不能将它们放入资源中 我可以使用 getExternalFilesDir 获取 SD
  • DLL-导出模板基类的静态成员

    在 DLL 中 我有一个带有模板基类的导出非模板类 该模板基类有一个静态成员变量 我在链接到具有导出的非模板类的 DLL 的可执行文件中使用静态基成员 在许多情况下 我会收到未解决的外部符号或有关不一致链接的投诉 我发现了一种可行的方案 但
  • TDD、DDD 和封装

    经过几年遵循我工作场所 架构师 传下来的不良实践并认为一定有更好的方法之后 我最近一直在阅读有关 TDD 和 DDD 的内容 我认为这些原则和实践将是一个很好的方法 非常适合我们编写的软件的复杂性 然而 我见过的许多 TDD 示例都调用域对
  • Flutter:应用程序的区域设置不受其所有本地化代表的支持

    您好 我正在尝试在 flutter 应用程序中添加 BottomNavigationBar 但当我运行项目时出现错误 A MaterialLocalizations delegate that supports the ka GE loca
  • 将应用程序设置存储在项目文件夹而不是 AppData 中

    我的项目中有一个 Settings cs 文件 我通过以下方式从程序访问其中的数据 Properties Settings Default MyProperty 生成的设置文件存储在以下位置 C Users Foo AppData Loca
  • android ndk 开发问题:memcpy 函数出现“无效参数”错误

    我在android项目中使用了c 代码 所以我使用了NDK工具 IDE是eclipse 编译项目时 我收到错误memcpy功能 Invalid arguments Candidates are void memcpy void const
  • DropDownList-项目在回发时为空

    我有 DropDownList 我必须将其填充到与另一个控件的单击事件关联的事件中 数据已填充并存在 但当我选择一个值并回发时 该值为空 这意味着视图状态不起作用 解决方案说在 Init 中填充 DropDown 但我不能 因为要求不允许这