我正在尝试编写一个小方法来循环并GridView通过其索引查找列,因为它可以根据可见的内容更改位置.
这是我到目前为止:
private int GetColumnIndexByName(GridView grid, string name)
{
foreach (DataColumn col in grid.Columns)
{
if (col.ColumnName.ToLower().Trim() == name.ToLower().Trim()) return col.Ordinal;
}
return -1;
}
Run Code Online (Sandbox Code Playgroud)
在这种情况下,DataColumn似乎不是正确使用的类型,但我有点迷失在这里我应该做什么.
我只能使用.NET 2.0/3.5.我不能用4.0.
我在选择驻留在另一个容器中的span元素中的文本时遇到问题.
我试图解决的情况是在页面上我们可能一次有10-15个不同的地址(所以我在创建页面时将记录ID添加到div的ID上).我需要能够通过ID选择特定的一个,然后在其中找到各个地址片段.
HTML输出的示例如下:
<div id="Address_1">
<span id="Address">Some Address</span>
<span id="City">Some City</span>
<span id="State">Some State</span>
<span id="Zip">Some Zip</span>
</div>
<div id="Address_2">
<span id="Address">Some Address</span>
<span id="City">Some City</span>
<span id="State">Some State</span>
<span id="Zip">Some Zip</span>
</div>
Run Code Online (Sandbox Code Playgroud)
我尝试过使用以下内容(以及许多变种):
$("#Address_" + Id).children().find("#Address").text;
$("#Address_" + Id).find("span#Address").text;
$("#Address_" + Id).find("span").find("#Address").text;
Run Code Online (Sandbox Code Playgroud)
(我也可以在跨度内使用类而不是ID,但我也想知道如何通过ID来实现它.)
我确信这是非常简单的,我做错了,但我似乎可以搞清楚.我在这里搜索了很多问题以及寻找类似的问题,但我似乎无法找到我正在寻找的东西.如果我没有使用正确的措辞进行搜索,我会提前道歉.
任何和所有的帮助非常感谢.
更新:感谢Ken Redler的帮助,这是我的解决方案.
<div id="Address_1">
<span class="Address">Some Address</span>
<span class="City">Some City</span>
<span class="State">Some State</span>
<span class="Zip">Some Zip</span>
</div>
$("#Address_" + Id).find("span.Address").text();
Run Code Online (Sandbox Code Playgroud) 我仍然是jQuery的新手,我正在尝试寻找帮助优化我的代码的方法.我正在开发一个应用程序,每次有人离开字段(.blur)时我都会调用一些计算方法.我只想在满足某些条件时调用这些方法(例如值!= 0).我有9个字段,我正在计算和检查当前.
$(document).ready(function () {
var currentValue = {};
$("#txtValue1").focus(function () {
currentValue = $(this).val();
}
).blur(function () {
$("#txtValue1").valid();
if (currentValue != $("#txtValue1").val() && $("#txtValue1").val() != "") {
CallCalculations();
}
});
$("#txtValue2").focus(function () {
currentValue = $(this).val();
}
).blur(function () {
$("#txtValue2").valid();
if (currentValue != $("#txtValue2").val() && $("#txtValue2").val() != "") {
CallCalculations();
}
});
});
function CallCalculations() {
// Do Stuff
};
Run Code Online (Sandbox Code Playgroud)
我知道可以将这些函数压缩成一个更通用的函数(使用CSS类作为选择器而不是ID)但我似乎无法弄明白,因为我仍然是jQuery/Javascript的新手.任何帮助将不胜感激.谢谢!
在我的应用程序中,我正在为用户构建一个zip文件,以便下载一些导出的数据库信息.当用户单击"生成数据"按钮并在数据库中记录请求时,将创建zip文件.
在我的页面上,我有一个Gridview,它显示用户的下载历史记录,并使他们能够在一段时间内下载最新生成的文件.
我遇到的问题是,当他们点击按钮时,我想要刷新页面(从而刷新gridview并显示他们的最新请求),然后为他们启动文件下载(IE,提示提示并让他们决定是否打开/保存/取消它).
我能够在帖子上开始下载,但我的Gridview在开始之前没有更新,所以它没有显示列表中的最新请求.如何在下载提示开始之前更新gridview?
我正在使用以下内容开始下载:
public void BeginDownload()
{
FileDownload download = InventoryService.GetLastThreeFileDownloads(this.EmployeeId).First();
FileInfo fi = new FileInfo(Server.MapPath(SERVER_DOWNLOAD_PATH) + download.DownloadFileName);
Response.Clear();
Response.ContentType = "application/zip";
Response.AppendHeader("Content-Disposition", "attachment; filename=" + fi.Name);
Response.TransmitFile(fi.FullName);
Response.Flush();
}
Run Code Online (Sandbox Code Playgroud)
如果隐藏字段设置为true(我在单击按钮构建文件时设置),则在Page_Load事件中调用该方法作为最后一项.
我也试过通过jQuery/AJAX调用来刷新页面并开始下载但收效甚微.我已经考虑打开一个模态对话框,让他们点击一个链接开始下载,然后在模态关闭时刷新页面,但如果我找不到另一个解决方案,这是最后的手段.
任何帮助是极大的赞赏!
我试图找出一种方法,我可以从另一个ASPX Code Behind页面调用Web方法(位于aspx页面后面的代码中作为公共静态方法).
这是Page A.aspx背后的代码
public partial class PageA : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
// other code not relevant is here
}
[WebMethod(true)]
public static string GetStringInfo()
{
// do some stuff here to build my string
// return string
}
}
Run Code Online (Sandbox Code Playgroud)
在页面B上,我需要能够在页面加载或其他事件期间调用GetStringInfo()来获取信息.GetStringInfo()相当复杂,并且出于我无法控制的原因,无法将其移动到其他地方或目前重建.
如何从其他页面的代码中使用上面的Web方法?
我已经尝试实例化其他页面(PageB)的副本,例如:
public partial class PageB : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
PageA page = new PageA();
page.GetStringInfo();
}
}
Run Code Online (Sandbox Code Playgroud)
这里的问题是因为它是动态编译的,所以我没有一个简单的命名空间来引用和访问.我试过添加一个,它忽略了它.
该项目位于.net 3.5,C#,是一个网站项目(不是Web应用程序).
任何帮助表示赞赏!