尝试将 VB.Net 转换为 C# 视图状态问题
本文关键字:视图状态 问题 转换 Net VB | 更新日期: 2023-09-27 18:34:23
VB.NET 代码
If ViewState("lstSetting") IsNot Nothing Then
username = ViewState("lstSetting")("Email")
password = ViewState("lstSetting")("Psw")
mHost = ViewState("lstSetting")("Host").ToString.Split(":")(1)
mPort = ViewState("lstSetting")("Port").ToString.Split(":")(1)
End If
password = Trim(dec(ondecrypt(Trim(password))))
C# 代码
if (ViewState["lstSetting"] != null)
{
username = ViewState["lstSetting"]("Email");
password = ViewState["lstSetting"]("Psw");
mHost = ViewState["lstSetting"]("Host");
//.ToString.Split(":")(1)
mPort = ViewState["lstSetting"]("Port");
//.ToString.Split(":")(1)
}
password=Strings.Trim(ModCommon.dec(ModCommon.ondecrypt(Strings.Trim(password))));`
错误:预期方法名称...
此处显示错误
ViewState["lstSetting"]("Email")
ViewState["lstSetting"]("Email")
应该是
((Dictionary<string, string>)ViewState["lstSetting"])["Email"]
实际上,您应该检索ViewState["lstSetting"]
一次,然后使用它。但这适用于两个代码片段。
由于lstSetting
是一个Dictionary<string, string>
,你需要先强制转换变量,然后使用Item
访问器获取变量[]
:
Dictionary<string, string> dic = ViewState["lstSetting"] as Dictionary<string, string>;
if (dic != null)
{
username = dic["Email"];
// etc
}