Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/312.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在C中通过ID查找元素#_C#_Asp.net_.net - Fatal编程技术网

C# 如何在C中通过ID查找元素#

C# 如何在C中通过ID查找元素#,c#,asp.net,.net,C#,Asp.net,.net,我想在C中做类似的事情# 我是个新手,我相信这很简单。在ASP.NET中,这几乎没有必要。例如,如果您有一个名为“txtMyTextBox”的文本框,您只需执行txtMyTextBox.Text=“Hello World”。您可以对具有runat=“server”属性的任何元素执行此操作 如果需要从字符串中查找,可以使用FindControl(“txtMyTextBox”),但请注意,这不会递归搜索。它只会找到您调用它的控件的直接子级。(您可以使用以递归方式查找控件) 最后,如果您想通过元素的H

我想在C中做类似的事情#


我是个新手,我相信这很简单。

在ASP.NET中,这几乎没有必要。例如,如果您有一个名为“txtMyTextBox”的文本框,您只需执行
txtMyTextBox.Text=“Hello World”。您可以对具有
runat=“server”
属性的任何元素执行此操作

如果需要从字符串中查找,可以使用
FindControl(“txtMyTextBox”)
,但请注意,这不会递归搜索。它只会找到您调用它的控件的直接子级。(您可以使用以递归方式查找控件)


最后,如果您想通过元素的HTML ID来具体引用它,那么您不能这样做。C#在服务器上运行,不能直接访问页面。

有很多方法可以做到这一点

XmlDocument() doc = new XmlDocument();
doc.LoadXml(@"<SomeNodeName id = "myID">Hello World</SomeNodeName>";
在上述假设中,有一系列的假设。找出它可能出现的问题将是一个非常好的学习练习

提到字典的答案是,在有人否决后,字典被删除了,这将是一个更好的方法

public class SomeObject
{
   private Dictionary<int, String> myGames;
   public SomeObject()
   {
      myGames = new Dictionary<int, string>();
   }
   public AddGame(int id, string desc)
   {
       myGames.Add(id,desc);
   }
   public string FindGameById(int id)
   {
      if(myGames.ContainsKey(id))
      {
         return myGames[id];
      }
      return null;
   }
}
公共类SomeObject
{
私人字典游戏;
公共对象()
{
myGames=新字典();
}
public AddGame(int-id,string-desc)
{
myGames.Add(id,desc);
}
公共字符串FindGameById(int-id)
{
如果(myGames.ContainsKey(id))
{
返回myGames[id];
}
返回null;
}
}

Hi gdoron,我在网上尝试了各种解决方案,但似乎找不到任何有帮助的方法。也许我找错东西了。任何方向都会对我有很大帮助。Regard我假设您正在询问XML。请记住,您应该告诉我们这个问题是否与XML有关,这样我们就不必做出错误的假设Hi Tony,类似这样的假设如何:int[]myGame=new int[]{3,4,5,6};int inc=1;foreach(myGame中的inti){“MyDiv”+inc.toString()=i;inc++;}谢谢你,我试过这个:FindControl(“txtMyTextBox”).innerText,但不起作用。Regards@DahProblum是的,但是你试过他展示的第一件东西吗?您的代码将使用
runat=“server”
智能感知这些元素,因此如果您刚开始键入ID值,它将显示出来。@DahProblum:首先,您为什么要这样做?为什么不
txtMyTextBox.Text=“…
”第二,“不工作”是什么意思?(请通过提供有意义的细节,学会像程序员一样思考。)第三,你递归地找到了吗?第四,这是什么类型的控件?文本框没有
innerText
属性。但是它们有
Text
属性。Intellisense对你不起作用吗?如果你读到他对我答案的评论,你会发现我们最初都有些误解。。。
int positionInArray = myGame.IndexOf("MyDiv" + id.ToString());
public class SomeObject
{
   private Dictionary<int, String> myGames;
   public SomeObject()
   {
      myGames = new Dictionary<int, string>();
   }
   public AddGame(int id, string desc)
   {
       myGames.Add(id,desc);
   }
   public string FindGameById(int id)
   {
      if(myGames.ContainsKey(id))
      {
         return myGames[id];
      }
      return null;
   }
}