c# - 如何在一行代码中转换和使用一个对象?

标签 c# asp.net .net casting

我正在尝试从网络控件访问父页面上的隐藏域。下面的工作,但我想在一行中完成。

HiddenField hiddenFieldPid = (HiddenField)this.Parent.FindControl("HiddenFieldPid");
hiddenFieldPid.Value = ListBox_JobPositions.SelectedValue;

不太确定为什么这不起作用,但是当我这样做时我没有在智能感知中看到 Value 属性:

(HiddenField)this.Parent.FindControl("HiddenFieldPid").NOOPTIONFORVALUEHERE = ListBox_JobPositions.SelectedValue;

最佳答案

您必须添加括号才能使转换在正确的位置工作:

((HiddenField)this.Parent.FindControl("HiddenFieldPid"))
                         .Value = ListBox_JobPositions.SelectedValue;

但是请注意,在一行中执行此操作会使您面临多个难以诊断的可能异常。

关于c# - 如何在一行代码中转换和使用一个对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15561818/

相关文章:

.net - SVN 控制台 .NET 错误

c# - 有没有一种方法可以在不逐行读取的情况下检索文件的最后一个字符?

c# - 一个类如何通知某人其数据已被更改?

c# - 使用 C# (Windows 8) 产生问题的静态变量

javascript - 将 ID 从 GridView 行传递到 Javascript 函数

php - 在一个线程中排队请求以进行长轮询

c# - 保持应用程序始终运行

c# - 为什么此编码在 Mono 中有效但在 MS 中失败?

javascript - 在c#中获取多个复选框选中的值

c# - WPF+Caliburn.Micro : ComboBox and ListBox not updating with dictionary properly