我正在动态生成一个提交到.aspx网页的HTML表单.如何在结果页面中确定提交的变量名称以及值是什么?使用:Request ["VarName"].toChar(); 有效,但假设我知道所有变量名称.我怎样才能获得名称和价值观?
理想情况下,该解决方案适用于POST和GET提交...
谢谢!
我是一名非编码员,需要向我的开发人员提供一些信息.其中一个问题是我们是运行ASP.NET MVC还是Web Forms?我能说出这个最好的方法是什么.如果你想看一下,该网站是http://sokanu.com(只是一个启动页面)
多谢你们
我们现在可以在ASP.NET MVC 4中使用async/await关键字.
public async Task<ActionResult> TestAsync()
{
WebClient client = new WebClient();
return Content(await client.DownloadStringTaskAsync("http://www.google.com"));
}
Run Code Online (Sandbox Code Playgroud)
但是如何在ASP.NET WebForms中使用它?
Webforms中的ViewState和MVC中的ViewBag之间是否存在功能差异?它们似乎是"同一件事".并且可以以相同的方式使用.我问,因为MVC推广无状态Web而不是填充页面中的数据导致膨胀和性能降低.但似乎你也可以在MVC中做到这一点.他们所做的一切,似乎只是给它一个新名字.
ASP.Net Core 1.0是否支持.Net WebForm项目?或者它只是一个MVC环境?我也可以在那里创建经典的Web服务(asmx)吗?
我没有发现经常使用的"*"看起来很漂亮 - 任何人都可以建议一个更好看的方法或指向我的例子吗?
我尝试将该字段用红色突出显示为一个人建议,但我不喜欢这个外观.
大胆的标签可能会成功.
但我真的很喜欢"必填"的想法在字段中以灰色显示,直到添加文字.有没有人有这个代码?
这可能是一个愚蠢的问题,但我正在编写一个快速测试页面,并意识到我不知道如何将字符串的数组或ArrayList绑定到例如ASP.NET Repeater.
我试验了一下.
<asp:Repeater ID="rptImages" runat="server">
<HeaderTemplate>
<h3>Items</h3>
</HeaderTemplate>
<ItemTemplate>
<p style="background-color:Black;color:White"><%#Eval(Container.DataItem.ToString())%></p>
</ItemTemplate>
<FooterTemplate>
<h4>End of Items</h4>
</FooterTemplate>
</asp:Repeater>
Run Code Online (Sandbox Code Playgroud)
我完全是傻瓜吗?我只是将它用于具有属性的对象集合.
我有以下ASP页面:
<asp:Content ID="Content2" ContentPlaceHolderID="ShellContent" runat="server">
<form runat="server" id="AddNewNoteForm" method="post"">
<fieldset id="NoteContainer">
<legend>Add New Note</legend>
<asp:ValidationSummary ID="ValidationSummary1" runat="server" />
<div class="ctrlHolder">
<asp:Label ID="LabelNoteDate" runat="server" Text="Note Date"
AssociatedControlID="NoteDateTextBox"></asp:Label>
<asp:TextBox ID="NoteDateTextBox" runat="server" class="textInput"
CausesValidation="True" ></asp:TextBox>
<asp:CustomValidator
ID="CustomValidator1"
runat="server"
ErrorMessage="CustomValidator"
ControlToValidate="NoteDateTextBox"
OnServerValidate="CustomValidator1_ServerValidate"
Display="Dynamic"
>*</asp:CustomValidator>
</div>
<div class="ctrlHolder">
<asp:Label ID="LabelNoteText" AssociatedControlID="NoteTextTextBox" runat="server" Text="Note"></asp:Label>
<asp:TextBox ID="NoteTextTextBox" runat="server" Height="102px"
TextMode="MultiLine" class="textInput" ></asp:TextBox>
<asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server"
ErrorMessage="Note Text is Required" ControlToValidate="NoteTextTextBox">*</asp:RequiredFieldValidator>
</div>
<div class="buttonHolder">
<asp:Button ID="OkButton" runat="server" Text="Add New Note"
CssClass="primaryAction" onclick="OkButton_Click"/>
<asp:HyperLink ID="HyperLink1" runat="server">Cancel</asp:HyperLink>
</div>
</fieldset>
</form> …Run Code Online (Sandbox Code Playgroud) 我想在路由表中添加可选参数.例如,我希望用户浏览这样的产品目录:http: //www.domain.com/browse/by-category/electronics/1,2,3等
现在我创建了这样的路线:
routes.MapPageRoute(
"ProductsBrowse",
"browse/{BrowseBy}/{Category}",
"~/Pages/Products/Browse.aspx"
);
Run Code Online (Sandbox Code Playgroud)
然而问题是,当用户输入http://www.domain.com/browse时,我希望他们提供一个不同的页面,他们可以选择如何浏览的方式.因此不会使用参数{BrowseBy}和{Category}.
有没有办法围绕这个为每个场景创建单独的路线?
感谢您的时间!亲切的问候,马克
语境:
我经常遇到这样的情况:我们的ASP.NET页面必须在GridView上向用户显示数据,让他随心所欲地更改它(单元格上的文本框),并且只有当他实际点击时才将其保存到数据库中.保存按钮".此数据通常是页面上信息的虚拟状态,这意味着用户可以更改所有内容,而无需保存,直到他点击"保存按钮".在这些情况下,总是需要在ASP.NET回发中保留数据列表.这些数据可以是一个DataTable或只是一些的实例List<Someclass>.
我经常看到人们实现这一点并持久保存数据Session.在这种情况下,我通常也会看到一些用户导航时打开多个标签的问题,有些时候在同一页面上.两个不同选项卡的数据将合并在一起,导致信息被扰乱的问题.
如何经常使用Session的示例:
private List<SomeClass> DataList
{
get
{
return Session["SomeKey"] as List<SomeClass>;
}
set
{
Session["SomeKey"] = value;
}
}
Run Code Online (Sandbox Code Playgroud)
人们经常试图通过做这样的事情来解决它:
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
DataList = null
}
else
{
FillGridView(DataList);
}
}
Run Code Online (Sandbox Code Playgroud)
但是,当两个标签已经加载并且用户正在更改GridView值时,出于某种奇怪的原因,他试图通过点击另一页上的"保存"按钮来保存数据呢?我个人不喜欢这个选项.
其他方法是将数据放在上面ViewState.但是,当涉及到持久存在的大型列表时,它可能会在页面存储时严重影响页面(HiddenField).
但是,这项工作的最佳方式是什么?有一次,我想Session与ViewState在哪里一起使用ViewState将保存一个唯一的标识符来索引Session保存的数据.这样可以防止在浏览器上的标签之间共享数据:
private List<SomeClass> DataList
{
get
{
if (ViewState["SomeKey"] == null)
{
ViewState["SomeKey"] = Guid.NewGuid().ToString();
}
return Session[ViewState["SomeKey"].ToString()] …Run Code Online (Sandbox Code Playgroud) webforms ×10
asp.net ×5
c# ×3
asp.net-mvc ×2
viewstate ×2
.net-2.0 ×1
arrays ×1
asp.net-core ×1
async-await ×1
asynchronous ×1
html ×1
repeater ×1
routing ×1
session ×1
testing ×1
validation ×1
viewbag ×1