嘿伙计们,我想做的是向我的 gridview 的排序事件添加一个方法,以向正在排序的列添加一个类,以便用户可以知道数据是按升序还是降序排序以及在哪个列上排序。我目前正在尝试通过排序表达式上的 switch 语句来确定它来自哪一列,但我不知道如何设置 css 类。有任何想法吗?
我仍在习惯 ASP.net WebForms 处理事情的方式,但这仍然让我感到困惑。在某些情况下,如果对象为空,则应显示标记,并且该标记应包含该对象的值。
一个非常简单的例子:
<asp:PlaceHolder runat="server" Visible='<%# myObject != null %>'>
<span><%= myObject.Property %></span>
</asp:PlaceHolder>
Run Code Online (Sandbox Code Playgroud)
问题在于 ASP.net 似乎会解析占位符的内容,而不管其可见性如何。上面的代码以错误结束:
Object reference not set to an instance of an object.
<asp:Literal>有没有办法在没有一百万的情况下处理这个问题?
我的网页中有一个列表框(我正在使用 ASP.NET Web Form 4),当我想将这些列表框的项目转换为字符串数组时,它不起作用,我使用以下代码:
protected void btnSend_Click(object sender, EventArgs e)
{
String[] a= ListBox1.Items.Cast<String>().ToArray();
}
Run Code Online (Sandbox Code Playgroud)
当我单击btnSend并通过 Chrome 开发工具(在“控制台”选项卡中)检查它时,我收到如下错误:
无法将“System.Web.UI.WebControls.ListItem”类型的对象转换为“System.String”类型
为什么会发生这种情况以及如何解决它?
假设我有一个<html>定义了我的元素的母版页。然后我有一个使用所述母版页的 default.aspx 页面。如何<html>从default.aspx后面的代码修改标签?特别是,我想更改其属性“data-custom”的值,以便它呈现为<html data-custom="my dynamic value">.
关于这个主题的每一项研究都展示了如何使用 MVC 来完成这项任务,我的项目是基于 MVP Webforms 的。我已完成身份验证,但是否有最好的授权模式或策略?
例如,根据用户角色检查特定页面上的热链接,或者隐藏给定角色的 ASP 控件。
目前我正在做这样的事情:
if(user.Roles.Contains("Admin")){
lnkAdmin.Visibility = true;
}
Run Code Online (Sandbox Code Playgroud)
我认为这不是很干净或可维护,有更好的方法来做这些事情吗?
我经常从学校的“讲师”那里得到不正确的信息。
对于 ASP.NET Web 应用程序,工具箱中的验证器(如 CompareValidator、RangeValidator、RequiredFieldValidator 等)是否被视为服务器端验证?
因为我们还添加了一个 jQuery NuGet 包,它在用户选项卡时提供实时验证,就像用户在需要数字时键入字母一样。
对于 C# 中的 WPF,我创建了一个验证器类或使用一个库并通过静态方法以这种方式检查验证。我也应该在 ASP.NET 中这样做吗?或者 RequiredFieldValidators 等是否足以进行服务器端验证?
下面是一个例子:
<div class="form-group">
<label class="control-label col-sm-4">Length:</label>
<div class="col-sm-4">
<asp:TextBox ID="txtLength" runat="server" CssClass="form-control" MaxLength="15"></asp:TextBox>
</div>
<div class="col-sm-4">
<asp:RequiredFieldValidator ID="rfvLength" runat="server" ErrorMessage="Length is required"
ControlToValidate="txtLength" CssClass="error" Display="Dynamic" SetFocusOnError="True"></asp:RequiredFieldValidator>
<asp:RangeValidator ID="rngLength" runat="server" ErrorMessage="Must be between .01 and 10,000"
MaximumValue="10000" MinimumValue=".01" ControlToValidate="txtLength" CssClass="error" Display="Dynamic"
SetFocusOnError="True" Type="Double"></asp:RangeValidator>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
谢谢
******编辑*****
伙计们,你们给出的答案不清楚或不完整,就像我的“导师”一样。
请是或否,这是 ASP.NET 中的服务器端验证吗?
<div class="form-group">
<label class="control-label col-sm-4">Length:</label>
<div class="col-sm-4">
<asp:TextBox ID="txtLength" runat="server" CssClass="form-control" …Run Code Online (Sandbox Code Playgroud) 我是使用 .NET 进行 Web 编程的新手。
我正在开发一个带有 webforms 的网页,我想在某个时刻以编程方式显示一个模态窗口,供用户根据一个问题接受或取消。JavaScript 的“确认”功能到底是做什么的。
我试图让它调用一个 JavaScript 函数:
Page.ClientScript.RegisterStartupScript (this.GetType (), "CallMyFunction", "MyFunction()", true);
Run Code Online (Sandbox Code Playgroud)
但是我需要在不重新加载页面的情况下进行,并且我还需要控制用户是否接受或取消而我不知道该怎么做。
我还尝试使用 DevExpress 的 ModExPopupExtender 控件获取它。
有人可以告诉我一个简单的方法来获得我想要的东西吗?
我无法理解 Web 编程中如此常见的事情,以及 PHP + javascript 不会造成任何问题的事情怎么会如此复杂。
一切都从背后代码的一键事件开始:
protected void btn1_Click(object sender, EventArgs e)
{
//I make a series of checks
//If certain conditions I want to show the confirm
//According to the user has chosen ok or cancel will perform a certain action
}
Run Code Online (Sandbox Code Playgroud)
Onclientclick 对我没有帮助,因为在启动“确认”之前,我必须在服务器端做一些检查。非常感谢。
我正在使用 asp.net 网络表单。
我需要处理 Azure 存储中的 pdf。我正在使用 PDFJet 库来做到这一点。
我想在不下载的情况下流式传输 pdf,因为我必须处理大量的 pdf。
我正在使用以下函数从 Azure 流式传输 pdf:
public MemoryStream DownloadToMemoryStream(DTO.BlobUpload b)
{
CloudStorageAccount storageAccount = Conn.SNString(b.OrgID);
CloudBlobClient blobClient = storageAccount.CreateCloudBlobClient();
CloudBlobContainer container = blobClient.GetContainerReference(b.Container);
CloudBlockBlob blob = container.GetBlockBlobReference(b.FileName);
var sasToken = blob.GetSharedAccessSignature(new SharedAccessBlobPolicy()
{
Permissions = SharedAccessBlobPermissions.Read,
SharedAccessExpiryTime = DateTime.UtcNow.AddMinutes(10),//assuming the blob can be downloaded in 10 miinutes
}, new SharedAccessBlobHeaders()
{
ContentDisposition = "attachment; filename=file-name"
});
using (MemoryStream ms = new MemoryStream())
{
blob.DownloadToStream(ms);
return ms;
}
}
Run Code Online (Sandbox Code Playgroud)
并在 aspx.cs …
在我的网络表单中,我有一个链接按钮定义为....
<asp:LinkButton Visible="True" style="text-decoration:none;color:blue;" Font-Underline="false" runat="server" ID="lnkEditCarOrderNumber"
CommandName="EditCarDetails"><%#((int)Eval("CarStatusId")!=1 && (Eval("CarOrderNumber")=="" || Eval("CarOrderNumber")==DBNull.Value))
? "(click to add)"
Eval("CarOrderNumber")%>
</asp:LinkButton>
Run Code Online (Sandbox Code Playgroud)
文本是动态的,从 C# 三元表达式创建。
如您所见,我尝试删除样式和字体下划线中的下划线。但链接总是显示一个下划线。知道为什么吗?
我知道我可以尝试 CSS,但使用内联样式也应该可行。任何见解将不胜感激。
我对 ASP.NET 相当陌生,所以有没有办法在一段时间后使按钮可见?
<asp:Button ID="Button1" runat="server" Text="Click here" OnClick="btn_Click" Visible="False" />
Run Code Online (Sandbox Code Playgroud)
代码隐藏:
protected void btn_Click(object sender, EventArgs e)
{
Response.Redirect("~/site...." );
}
Run Code Online (Sandbox Code Playgroud) asp.net ×10
webforms ×10
c# ×5
css ×1
filestream ×1
gridview ×1
javascript ×1
memorystream ×1
sorting ×1
validation ×1