Tag: webforms

如何从Asp.Net Code Behind调用JavaScript函数?

这是我的JavaScript函数: function WantToSave() { alert(‘You should save now !’); } 这是我的ASP.NET代码背后: Page.ClientScript.RegisterStartupScript(this.GetType(), “MyKey”, “WantToSave();”); 到达RegisterStartupScript函数,这是肯定的。 但它不会触发我的JavaScriptfunction。 而第二个参数,它应该是一个“起始脚本的关键”是的,但我应该把它放在那里?

在GridView编辑模板中更改控件的值

我有一个GridView,我需要能够以编程方式更改编辑模板中TextBox的值。 当我在onRowDataBound期间尝试访问它时,我得到了这个: exception详细信息:System.NullReferenceException:未将对象引用设置为对象的实例。 我想在onRowDataBound方法中,编辑模板控件是不可访问的。 但是,当我尝试在onRowEditing方法中编辑TextBox的值时,GridViewEditEventArgs对象没有.Row选项,因此看起来您无法访问onRowEditing方法中编辑模板中的控件。 有关如何以编程方式更改GridView编辑模板中TextBox值的任何想法? ASP.NET WebForms,.NET 4.0,C# ==== 编辑#1:这就是我现在拥有的。 在RowEditing中,txtMiles对象最终为null。 <asp:Label ID="lblFreqMiles" runat="server" Text='’> <asp:TextBox ID="txtFreqMiles" runat="server" Text='’ Width=”50px”> protected void gvMaint_RowEditing(object sender, GridViewEditEventArgs e) { //format Miles Frequency column GridViewRow row = grvMaint.Rows[e.NewEditIndex]; TextBox txtMiles = (TextBox)row.FindControl(“txtFreqMiles”); if (txtMiles.Text == “999999”) { //do stuff } grvMaint.EditIndex = e.NewEditIndex; populateMaintGrid(); }

在列表框中显示项目有哪些可能性?

我一直试图弄清楚如何创建一个界面,该界面可以允许用户输入多行数据并将这些条目一次性传递到SQL服务器数据库中。 我无法得到任何更好的想法所以我想出了这个(见下图)。 我设想的是用户在文本框中输入值并点击“添加到列表”按钮。 然后在下面的列表框中使用标题“展示列表”填充这些值,并且当按下添加展示按钮时,列表框中的所有值都将传递到数据库中。 好吧,我再次想知道是否可以将这些值从文本框绑定到列表框以及我是否能够将它们传递到数据库中。 如果有可能那么我会很高兴知道如何去做,否则我会很高兴,如果你能推荐一个更好的方法来处理这种情况,否则我必须一次解决一个数据输入。 我相信这个网站上有一些有用的信息可以帮助解决我的问题,但我无法对文章做出正面或反面……似乎我几乎就在那里,它就会滑落。 大家可以阅读并帮助我适应我的情况吗? 发布如下: http://www.codeproject.com/KB/aspnet/ExtendedGridView.aspx

绑定空数据表时的DetailsView错误?

我正在使用.net 4.5,我发现了这种奇怪的行为: 标记: 码: protected void Page_Load(object sender, EventArgs e) { DataTable dt = new DataTable(“Test”); dt.Columns.Add(“Column”, typeof(string)); // If I uncomment the line it works! // dt.Rows.Add(“row 1”); dtvTest.DataSource = dt; dtvTest.DataBind(); } 结果是 集合不能为空。 参数名称:c 抛出dtvTest.DataBind()。 如果至少有一行它可以工作!! (见评论栏)。 关于如何解决/解决它的任何想法? 非常感谢

“指定的参数超出了有效值的范围”

我正在使用TextBoxes在ASP.Net GridView控件中添加动态行。 但是当我点击我的添加新行按钮时,我收到以下错误。 指定的参数超出了有效值的范围。 参数名称:index 可能是什么错误? 我的.aspx文件中的代码 ButtonAdd_Click()的C#代码 if (ViewState[“CurrentTable”] != null) { DataTable dtCurrentTable = (DataTable)ViewState[“CurrentTable”]; DataRow drCurrentRow = null; if (dtCurrentTable.Rows.Count > 0) { for (int i = 1; i <= dtCurrentTable.Rows.Count; i++) { //extract the TextBox values TextBox box1 = (TextBox)Gridview1.Rows[rowIndex].Cells[1].FindControl("txt_type"); TextBox box2 = (TextBox)Gridview1.Rows[rowIndex].Cells[2].FindControl("txt_total"); TextBox box3 = (TextBox)Gridview1.Rows[rowIndex].Cells[3].FindControl("txt_max"); TextBox box4 = […]

Response.TransmitFile()的替代方案

所以我有一套我过去几天一直在玩的代码,我需要从服务器下载一个文件到客户端。 这是一个简单的部分,但我还需要在完成后刷新网格视图并在警报中显示文件已成功创建,但我发现下载的每一种方式都包含一行代码,这将是我的倒台。 到Response.End() Response.Close()或 ApplicationInstance.CompleteRequest() 所有这些都结束了当前的响应,或者我相信在ApplicationInstance的情况下,它将页面的所有源代码刷新到我试图下载的文本文件中。 下面是我从服务器下载文件的代码片段,以下是下载文件的源代码。 如果你有任何可以帮助解决这个永无止境的噩梦,那将非常感激。 //I brought everything together in an arraylist to write to file. asfinalLines = alLines.ToArray(typeof(string)) as string[]; string FilePath = HttpContext.Current.Server.MapPath(“~/Temp/”); string FileName = “test.txt”; // Creates the file on server File.WriteAllLines(FilePath + FileName, asfinalLines); // Prompts user to save file System.Web.HttpResponse response = System.Web.HttpContext.Current.Response; response.ClearContent(); response.Clear(); response.ContentType […]

向Literal控件添加换行符

我有一些ASP.NET Literal控件的问题,因为它没有呈现标签。 码 string strTemp = task.Description.ToString(); lit_description.Text = strTemp.Replace(“\r\n”, “”); 输出: LG SERVICE TICKET – DATE IN (eg. Feb 11, 2011):- DATE OUT (eg. Feb 11, 2011):- Client Has Critical Data (fees will apply):- Windows Password: – Accessories:Client Complaint:

TempData类似于WebForms中的对象 – 仅1个附加请求的会话状态

我想通过会话状态仅为一个请求存储一些对象。 我似乎无法想到一个简单的方法来实现这一目标。 这正是 ASP.NET MVC的TempData对象所做的。 任何人都可以向我提供一个链接或一些如何让一个对象处于会话状态的例子只能存活一个额外的请求吗? 我想,这可以通过制作一个自定义字典对象来实现,该对象存储每个项目的年龄(请求数)。 通过订阅Application_BeginRequest和Application_EndRequest方法,您可以执行所需的对象清理。 这甚至可能有助于创建一个存储X请求数据的对象,而不仅仅是一个。 这是正确的轨道吗?

强制下载ASP.Net

在ASP.Net(使用C#)中,我正在尝试使用纯文本创建一个.DAT文件并将其发送到浏览器并强制下载。 我尝试了几件事,但我无法让它发挥作用。 在我的aspx文件中有一个ImageButton 在OnClick方法中,我正在尝试创建该文件并将其发送到浏览器。 protected void btnSave_OnClick(object sender, EventArgs e) { string file = “test.dat”; string fileName = “~\\Stages\\Broekx\\Databanken\\” + file; FileStream fs = new FileStream(MapPath(fileName), FileMode.Open); long cntBytes = new FileInfo(MapPath(fileName)).Length; byte[] byteArray = new byte[Convert.ToInt32(cntBytes)]; fs.Read(byteArray, 0, Convert.ToInt32(cntBytes)); fs.Close(); ImageButton btnSave = (ImageButton)FormViewStagesDummy.FindControl(“btnSave”); btnSave.Visible = false; File.Delete(Server.MapPath(fileName)); if (byteArray != null) { this.Response.Clear(); […]

如何访问文本框,使用asp.net Web表单从代码后面的更新面板内标签

我在更新面板中定义了一些绑定到转发器控件的控件。 我需要隐藏并显示基于匿名字段的用户名和国家/地区,但问题是我无法以编程方式访问更新面板中定义的控件。 我怎样才能访问这些控件,我在网上看了一下但找不到很多引用 以下是aspx页面和.cs页面的代码 <asp:Label ID="lblComPostDate" runat="server" Text='’> <asp:Label ID="lblComMSGDetails" runat="server" Text='’> <asp:Label ID="lblComUserName" runat="server" Text='’>, <asp:Label ID="lblComCountry" runat="server" Text='’> <asp:Label ID="lblUserAnonymous" runat="server" Text='’ Visible=false> 代码背后 protected string FormatCommentDate(object dt) { string date; date = String.Format(“{0:hh:mm, MMMM dd, yyyy}”, dt); return date; } protected string showUserName(object userName) { String str=null; try { Boolean isUserAnonymous = […]