Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/287.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# 如何访问javascript中动态创建的对象?_C#_Javascript_Asp.net_Dynamic - Fatal编程技术网

C# 如何访问javascript中动态创建的对象?

C# 如何访问javascript中动态创建的对象?,c#,javascript,asp.net,dynamic,C#,Javascript,Asp.net,Dynamic,我已经创建了一个动态表,我想访问javascript中创建的一个对象。例如:如何处理动态创建的按钮 <script type="text/javascript"> function myJavaScriptFunction() { //How do I know here which button triggered the function? } </script> <table> <% for (var i=0; i<10; i++) {

我已经创建了一个动态表,我想访问javascript中创建的一个对象。例如:如何处理动态创建的按钮

<script type="text/javascript">
function myJavaScriptFunction()
{ 
 //How do I know here which button triggered the function?
}
</script>

<table>
<% for (var i=0; i<10; i++) { %> 
  <tr class="rowcell">
   <td class="datacell">
   <input type="button" id='<%="button-no-"+i%>' value="myButton" onclick="myJavaScriptFunction()"/>
   </td>
 </tr>
<% } %>
</table>

函数myJavaScriptFunction()
{ 
//我怎么知道是哪个按钮触发了该功能?
}
先谢谢你
/用javascript编写的John

,如下所示

var elem = document.getElementById("button-no-1");

将按钮元素作为参数传递给函数

<script type="text/javascript">
function myJavaScriptFunction(button)
{ 
 //button triggered the function
}
</script>

<table>
<% for (var i=0; i<10; i++) { %> 
  <tr class="rowcell">
   <td class="datacell">
   <input type="button" id='<%="button-no-"+i%>' value="myButton" onclick="myJavaScriptFunction(this)"/>
   </td>
 </tr>
<% } %>
</table>

函数myJavaScriptFunction(按钮)
{ 
//按钮触发该功能
}

您可以按如下方式更改代码:

<input type="button" id='<%="button-no-"+i%>' value="myButton" onclick="myJavaScriptFunction('<%="button-no-"+i%>')"/>



<script type="text/javascript">
function myJavaScriptFunction(buttonId)
{ 
 //How do I know here which button triggered the function?
}
</script>

函数myJavaScriptFunction(buttonId)
{ 
//我怎么知道是哪个按钮触发了该功能?
}

映射出要作为对象的参数:

function myJavaScriptFunction(object)
{ 
 //How do I know here which button triggered the function?
    var id = object.id;
}
在HTML中,您需要执行以下操作:

onclick="myJavaScriptFunction(this)"
这是调用函数的点,并将
This
关键字作为参数传入

关键字
this
指调用的HTML元素,即您单击的按钮。对象具有属性
id
,您在函数中将该属性定义为
object.id
。属性
id
的值基本上是输入标记的“id”字段

综合起来,你会得到:

<script type="text/javascript">
function myJavaScriptFunction(object) // You're defining the function as having a parameter that it accepts. In this case, it accepts an object.
{ 
   alert(object.id); // Alert the object's id.
   // Do what you want with object.id
}
</script>

<table>
<% for (var i=0; i<10; i++) { %> 
  <tr class="rowcell">
   <td class="datacell">
   <input type="button" id='<%="button-no-"+i%>' value="myButton" onclick="myJavaScriptFunction(this)"/>
   </td>
 </tr>
<% } %>
</table>

函数myJavaScriptFunction(object)//您将函数定义为具有它接受的参数。在本例中,它接受一个对象。
{ 
警报(object.id);//警报对象的id。
//使用object.id执行所需操作
}

您应该知道按钮id:

var button = document.getElementById("button-no-1");

函数myJavaScriptFunction(按钮)
{ 
alert($(button.attr('id'));//获取调用函数的按钮的id
}

您想访问Javascript或ASP中动态创建的内容吗?您是如何创建动态控件的?是在codebehind中?还是在Javascript中?我想访问Javascript中动态创建的内容。动态控件是在codebehind中创建的。是的,您需要提前硬编码所有可能的动态按钮,对吗?@walther,你显然没有抓住重点,那就是展示你将如何做,而不是提供一个完整的解决方案。@JustinHarvey,不是说你必须给出一个银盘,而是可能展示一个基本的想法。您的示例没有显示任何内容,除了最基本的静态元素检索,这在本场景中是完全无用的。John需要一种方法来获取具有未知ID的元素,因为它是动态创建的。您将向他展示如何找到静态元素。理解其中的区别吗?是的,而且你会提前硬编码所有可能的动态按钮,对吗?
<script type="text/javascript">
function myJavaScriptFunction(button)
{ 
   alert($(button).attr('id')); // gets the id of the button that called the function
}
</script>

<table>
<% for (var i=0; i<10; i++) { %> 
  <tr class="rowcell">
   <td class="datacell">
   <input type="button" id='<%="button-no-"+i%>' value="myButton" onclick="myJavaScriptFunction(this)"/>
   </td>
 </tr>
<% } %>
</table>