如何给用户控件传递参数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何给用户控件传递参数相关的知识,希望对你有一定的参考价值。

方法1;
在自定义控件里声明一个全局变量如;public string parentID="";
在test.aspx里声明控件时同时赋值如
<uc1:webUserControl1 id="MyControl1" runat="server" parentID=“XXX”></uc1:MyControl>
方法2:
在test.aspx.cs中
webUserControl innerControl= (webUserControl)e.Item.FindControl("MyControl1");
innerControl.test = "XXXXXX";
在自定义控件里
private string _test;
public string test

get

return _test;

set

_test = value;

参考技术A var a = document.getParamaterById("AA").value;获取
document.getParamaterById("BB").value = a;//把A的值赋给B

如何创建一个要求用户输入“最多”20 个整数并使用传递给函数的参数来输出最大值、最小值和平均值的程序?

【中文标题】如何创建一个要求用户输入“最多”20 个整数并使用传递给函数的参数来输出最大值、最小值和平均值的程序?【英文标题】:How to create a program that asks user to enter "up to" 20 integers and uses parameter passing to functions to output the max, min, and average value? 【发布时间】:2016-03-02 19:05:32 【问题描述】:

对于作业,我需要用 C 语言创建一个程序,该程序使用数组和函数并提示用户输入最多 20 个整数来查找最小值、最大值和平均值。到目前为止,当用户输入 20 个数字但输入少于 20 个数字会使该程序打印垃圾值时,我有一个程序可以正常工作。我知道有一种方法可以用 malloc() 做到这一点,但我们还没有学会。我应该进行哪些更改以使该程序可以处理少于 20 个值?这是我的代码:

#include <stdio.h>
#define SIZE 20

int arrmin(int a[],int num_elements);
int arrmax(int a[], int num_elements);
float arraver(int a[],int num_elements);

int main(void)

   int a[SIZE],c,min,max;
   float avg;
   printf("Enter 20 numbers (q to quit)\n");
   for (c = 0; c <SIZE; c++)
   scanf("%d", &a[c]);


   max = arrmax(a,SIZE);
   printf("Maximum value is %d\n", max);

   min = arrmin(a,SIZE);
   printf("Minimum value is %d\n", min);

   avg = arraver(a,SIZE);
   printf("Average value is %f\n", avg);

   getch();


int arrmax(int a[], int num_elements)

   int i, max;
   max = a[0];
   for (i=1; i<num_elements; i++)
   
      if (a[i]>max)
      
         max=a[i];
      
   

   return(max);


int arrmin(int a[], int num_elements)

   int i, min;
   min = a[0];
   for (i=1; i<num_elements; i++)
   
      if (a[i]<min)
      
         min=a[i];
      
   

   return(min);


float arraver(int a[], int num_elements)

   int sum,i;
   float avg;
   sum=0;
   avg=0;

   for (i=0; i<num_elements;i++)
   
      sum=sum+a[i];
      avg=(float)sum/(i+1);
   
   return(avg);

【问题讨论】:

计算机如何知道用户不会再输入任何数字?您需要考虑一些分隔符,例如按 EOF 键。 总是检查可能遇到错误的函数的结果 - 例如scanf 用户如何指示少于输入的数字,而不是简单地等待更多? 您的代码显示“q to quit”。但是您的代码将无法准确捕获该条件,因为 scanf 仅在寻找整数。您可以通过多种方式解决这个问题,但我们假设任何非数字都被认为是输入的结尾。在这种情况下,检查scanf 返回值是否为1 是否成功。之后,您只需将输入的实际数量传递给 max/min/aver 函数,而不是 SIZE。计数已经存储在c 变量中,假设您在scanf 失败时break 好吧,我认为那是我做错了。我设置了这个程序,以便 q (或任何非整数)将结束程序。我会继续尝试你的建议谢谢! 【参考方案1】:

为了解决您的问题,我经常使用以下两种方法之一:

第一种方法,您应该在开头输入一个数字,该数字是数组的大小。之后,您应该分配一个具有此大小和输入元素的数组。 第二种方式,在元素大于0的时候输入元素。也就是说,如果你输入一个数字0,输入就会停止。开始时不需要输入大小,可以随时输入元素。

【讨论】:

以上是关于如何给用户控件传递参数的主要内容,如果未能解决你的问题,请参考以下文章

使用 Kendo MVC 上传控件将 Javascript/html 变量作为参数传递

操作系统中用户程序的参数是如何传递给程序的

如何在页面获取页面控件的值,并作为参数传递

在delphi中窗体间怎么传递参数

如何获取url中的参数并传递给iframe中的报表

如何将参数从Selenium Webdriver传递给JMeter?