我有一个 ASP.NET 向导运行我的购物车结帐过程。我刚刚在我的第二步中添加了一个 Paypal Express 结账链接。Paypal 流程将用户带离页面,然后在完成后将他们重定向回我的向导。当用户从 Paypal 返回以将向导设置为第 3 步时,我正在使用 Request.QueryString 解析 HTTP 参数。这加载得很好,但是当我单击(向导的)后退按钮时,它会进行回发,但是停留在第 3 步。有人能想出一个原因吗?它引用的链接仍然具有 HTTP 参数,但我在根据参数以编程方式设置向导步骤之前检查回发。有人对这个有经验么?
我接到了一个巨大的 Webforms 项目,我试图理解它,但我遇到了一个问题,即更新面板复制了很多内容。面板的 aspx 代码很大,有数百行,但它基本上看起来像这个简单的例子,只有更多asp:TextBox和asp:ListBox.
<asp:UpdatePanel runat="server" ChildrenAsTriggers="true" RenderMode="Block" UpdateMode="Conditional">
<ContentTemplate>
<div><table><tbody><tr><td>
<label>Search</label><asp:TextBox ID="Search" runat="server" />
<asp:LinkButton runat="server" OnClick="find_Click" >Find</asp:LinkButton>
</td></tr></tbody></table></div>
<div id="a"><table><tbody><tr><td>
<label>Result</label><asp:TextBox ID="Result" runat="server" />
</td></tr></tbody></table></div>
</ContentTemplate>
</asp:UpdatePanel>
Run Code Online (Sandbox Code Playgroud)
和这样的代码。
public void find_Click(Object sender, EventArgs e)
{
Result.Text = "oranges";
}
Run Code Online (Sandbox Code Playgroud)
当您单击 LinkButton 时,我希望在结果中看到该<div id="a">部分,但在 TextBox 中看到文本“oranges”。你实际得到的是<div id="a">“橙子”,然后是<div id="a">带有空文本框的原始文本。最糟糕的一点是,它没有做,在这个简单的例子,甚至也不是在一个页面中,我创建了所有原始asp:TextBox和asp:ListBox,但以虚拟数据填充。任何人都可以指出我解决这个问题的任何好方法吗?
情况是:
我想在提交表单时禁用页面上的所有控件(可能使用覆盖的 div),以便用户无法单击其他按钮,直到页面仍在处理回发。因此,我使用表单的onsubmit事件来调用执行相同操作的 Javascript 函数。但是现在正在调用该函数,但根本没有发布该表单。我什至尝试过,使用return true;作为我的 JavaScript 函数的最后一行,但仍然没有发布表单。
这是我的 Javascript 函数:
function DoThis()
{
alert('this form is about to be submitted...');
return true;
}
Run Code Online (Sandbox Code Playgroud)
这是我的表单标签:
<form id="form1" runat="server" onsubmit="DoThis();">
Run Code Online (Sandbox Code Playgroud)
这里有什么问题?另外,让我知道是否有其他方法可以满足我的目的?
编辑:我在这里不是指 ajax 调用,因为updatepanels已经有启用此行为的功能。我希望整个页面都具有此功能,即使单击更新面板外的按钮导致完整回发,而不仅仅是用于 ajax 调用(因为用户通常有足够的时间点击 2 或 3 个按钮,到页面被重定向或重新加载)。
关于我的问题,
我正在尝试使用 c# 而不是 ASP.NET 向 SQLDataSource 添加更新参数,但出现错误,
protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
int userID = Convert.ToInt32(GridView1.DataKeys[e.RowIndex].Values["userID"].ToString());
string userName = "";
string city = "";
string updateStatement = "Update myTable set userName=@userName, city=@city where userID=@userID";
foreach (DictionaryEntry entry in e.NewValues)
{
if (entry.Key == "userName")
userName = entry.Value.ToString();
if (entry.Key == "city")
city = entry.Value.ToString();
}
using (SqlDataSource ds = new SqlDataSource(ConnectionString(), updateStatement))
{
ds.UpdateParameters.Add("@userName");
ds.UpdateParameters.Add("@city");
ds.UpdateParameters.Add("@UserId");
}
gvDetails.EditIndex = -1;
BindData();
}
Run Code Online (Sandbox Code Playgroud)
如何传递参数值:S
ds.UpdateParameters.Add("@userName");
ds.UpdateParameters.Add("@city");
ds.UpdateParameters.Add("@UserId"); …Run Code Online (Sandbox Code Playgroud) 我在 VB.NET 中构建的 ASP.NET WebForms 应用程序中工作。
根据当前登录用户的角色,我想禁用文本框。所以如果他/她是角色 A 的一部分,那么他/她将能够编辑 TextBox 的内容,否则 TextBox 将被禁用。
<asp:TextBox runat="server"
ID="txtResolution"
CssClass="newTextObject"
TextMode="MultiLine">
</asp:TextBox>
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点?
有没有办法像在 MVC 中一样在 WebForms 中返回到 URL 的重定向。我有一个简单的函数,如果列表为空,则返回 null,如果列表中有项目,则返回列表。如果列表为空,我希望能够重定向到同一网站中的另一个页面。
这是函数
BillContext _context = new BillContext();
public List<Models.Bill> GetBills()
{
var bills = from b in _context.Bills
where b.UserName == HttpContext.Current.User.Identity.Name
select b;
if (bills.ToList().Count() < 1)
{
return null;
}
else
{
return bills.ToList();
}
}
Run Code Online (Sandbox Code Playgroud)
我想返回这样的东西,而不是返回 null
return Response.Redirect("~bills/create
Run Code Online (Sandbox Code Playgroud)
但这不起作用,它给了我一条不会消失的红色波浪线。这是 VS2012 ASP.net WebForms 项目
我有一个HiddenField1似乎并不当我运行的C#代码存在.
错误如下:
当前上下文中不存在名称"HiddenField1".
第54行的HiddenField1
对不起,我不知道为什么C#代码在网站上看起来像那样.
public partial class Login : System.Web.UI.Page
{
protected void LoginButton_Click1(object sender, EventArgs e)
{
string userName1 = Login1.UserName;
string userPassword1 = Login1.Password;
bool logSuccess = false;
foreach (GridViewRow gvRow in GridView1.Rows)
{
if (userName1 == gvRow.Cells[1].Text && userPassword1 == gvRow.Cells[2].Text)
{
Response.Write("Logged in");
logSuccess = true;
break;
}
}
if (logSuccess == true)
{ Response.Redirect("~/MemberPages/Members.aspx"); }
else
{ HiddenField1.Value = ""; }
}
}
Run Code Online (Sandbox Code Playgroud)
<%@ Page Title="" Language="C#" MasterPageFile="~/MasterPage.master" AutoEventWireup="true" CodeFile="Login.aspx.cs" Inherits="Login" %> …Run Code Online (Sandbox Code Playgroud)这是我的.aspx文件后面的鳕鱼中的简单重定向功能
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void GoToClicked(object sender, EventArgs e)
{
Response.Redirect("LoginPage.aspx");
}
}
Run Code Online (Sandbox Code Playgroud)
很基本的.
这是调用它的asp:LinkButton
<asp:LinkButton ID="LoginLink" runat="server" Text="Login" Font-Bold="true" OnClick="GoToClicked" ></asp:LinkButton>
Run Code Online (Sandbox Code Playgroud)
每当我尝试构建时,我都会收到以下错误:
Error 1 'GoToClicked' is not a member of 'ASP.default_aspx'. C:\Users\urMom\Documents\Visual Studio 2013\WebSites\HW_2\Default.aspx 65
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?我试过跟随:
而是使用Server.Transfer
将功能从受保护更改为公共
尝试使用和不使用id标记(包括大写和小写)
我想只在用户有一个查询字符串?mode=showdiv末尾的查询字符串时显示这个特定的div元素.否则,请勿显示此div.
最好的方法是什么?
这是我的div:
<div>
<p class ="Call-Customer-Support">Call customer support at 555-555-5555. </p>
<div class="Rectangle">
<img class="call icon-image" src="images/call.png" />
<a class="Call-Support" href="tel:555-555-5555">Call Support</a>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
我正在使用ASP.NET Web表单.
在我的.aspx代码中,我有以下元素
<asp:Image ID="GalleryImage" runat="server" ImageUrl='<%# Eval("ProductImage") %>' />
Run Code Online (Sandbox Code Playgroud)
为此返回的值是来自内容传送网络的图像UR1,其具有样本URL 'http://cdn.xyz.com'
我想将网址转换为 'https://cdn.xyz.com'
我试着这样做ImageUrl='<%# Eval("ProductImage").Replace("http","https") %>'似乎不起作用.有任何想法吗?
webforms ×10
asp.net ×9
c# ×5
javascript ×2
dom-events ×1
gridview ×1
paypal ×1
updatepanel ×1
vb.net ×1
wizard ×1