这是我到目前为止的JavaScript代码:
var linkElement = document.getElementById("BackButton");
var loc_array = document.location.href.split('/');
var newT = document.createTextNode(unescape(capWords(loc_array[loc_array.length-2])));
linkElement.appendChild(newT);
Run Code Online (Sandbox Code Playgroud)
目前,它从URL中获取数组中倒数第二个项目.但是,我想检查数组中的最后一项是"index.html",如果是,请抓住第三项到最后一项.
我有一个名为的网站
www.website.org
我有一个名为的移动网站
m.website.org
我想使用htaccess自动将主网站URL重定向到移动版本.
但是,移动版本上有一个链接指向主要网站
www.website.org?noredirect=true
当我点击它链接到的实际网站主页上的徽标时
www.website.org
我不希望通过单击主页上的徽标意外地允许用户返回移动设备.如何在没有JavaSCript的情况下通过htaccess实现这一目标.
如果不是,我对交替选择持开放态度.
编辑
我想我目前正在使用它来通过htaccess感知移动重定向
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_USER_AGENT} android|avantgo|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge\ |maemo|midp|mmp|opera\ m(ob|in)i|palm(\ os)?|phone|p(ixi|re)\/|plucker|pocket|psp|symbian|treo|up\.(browser|link)|vodafone|wap|windows\ (ce|phone)|xda|xiino [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^(1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a\ wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r\ |s\ )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1\ u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp(\ i|ip)|hs\-c|ht(c(\-|\ |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac(\ |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt(\ |\/)|klon|kpt\ |kwc\-|kyo(c|k)|le(no|xi)|lg(\ g|\/(k|l|u)|50|54|e\-|e\/|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(di|rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-|\ |o|v)|zz)|mt(50|p1|v\ )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v\ )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-|\ )|webc|whit|wi(g\ |nc|nw)|wmlb|wonu|x700|xda(\-|2|g)|yas\-|your|zeto|zte\-) [NC]
RewriteRule ^$ http://m.website.com [R,L]
Run Code Online (Sandbox Code Playgroud) 这是我的代码:
function insert(){
var loc_array = document.location.href.split('/');
var linkElement = document.getElementById("waBackButton");
var linkElementLink = document.getElementById("waBackButtonlnk");
linkElement.innerHTML=loc_array[loc_array.length-2];
linkElementLink.href = loc_array[loc_array.length];
}
Run Code Online (Sandbox Code Playgroud)
我希望linkElementLink.href除了数组中的最后一项之外的所有内容.现在它被打破了,它之前的项目得到倒数第二个项目.
我有一个CKEditor textarea:
<textarea cols="80" id="taBody" name="taBody" class="ckeditor" rows="10" runat="server"></textarea>
Run Code Online (Sandbox Code Playgroud)
我有jQuery试图从数据库中设置值:
$('#ContentPlaceHolder_taBody').val(substr[5]);
Run Code Online (Sandbox Code Playgroud)
不要担心我已经测试过它返回字符串的子字符串.出于测试目的,我用"test"替换了子字符串,并且收到了同样的问题.
我知道围绕这一行的jquery不会影响它,因为我正在尝试填充其他文本字段.就在谈到ckeditor时.
这是整个脚本:
function (obj) {
$.ajax({
type: "POST",
url: "ContentSections.aspx/GetContentDetails",
data: '{"nodeID": "' + obj.attr('id') + '"}',
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (msg) {
var str = msg.d;
var substr = str.split('|||');
$('#ContentPlaceHolder_hfContentSectionID').val(substr[0]);
$('.txtAlias').val(substr[1]);
$('.txtBrowserTitle').val(substr[2]);
$('.txtMetaDescription').val(substr[3]);
$('.txtMetaKeywords').val(substr[4]);
$('#ContentPlaceHolder_taBody').val(substr[5]);
}
});
}
Run Code Online (Sandbox Code Playgroud)
问题是没有任何内容被填充,也没有显示javascript错误.
我试着四处看看但找不到任何帮助我的东西.有没有人有任何想法?
我发现很多方法可以从一个数字中获取名称,但现在我需要反过来.
如果字符串等于四月,我想将其转换为int"4".
有谁知道完成这个服务器端的最佳方法?
我有一个ASP FileUpload控件,我正在上传:
C:\Documents and Settings\abpa\Desktop\TTPublisher\apache-tomcat-6.0.26\webapps\ttpub\WEB-INF\classes\org\gtfs\tmp\GTFS_Rail\routes.txt
Run Code Online (Sandbox Code Playgroud)
使用以下代码获取整个字符串的C#代码是什么:
var pathOfCsvFile = Server.MapPath(ImportRoutes.FileName);
var adapter = new GenericParsing.GenericParserAdapter(pathOfCsvFile);
DataTable data = adapter.GetDataTable();
Run Code Online (Sandbox Code Playgroud)
我知道Server.MapPath需要改变.
更新:
使用System.IO.Path.GetFullPath
给了我以下输出:
pathOfCsvFile = "C:\\Program Files\\Common Files\\Microsoft Shared\\DevServer\\10.0\\routes.txt"
这是我的OnClick事件:
protected void Submit_Click(object sender, EventArgs e)
{
try
{
using (SqlConnection con = new SqlConnection(conString))
{
using (SqlCommand cmd = new SqlCommand("administratorUpdate", con))
{
cmd.Parameters.Add("@originalID", SqlDbType.VarChar).Value = IDHF.Value;
cmd.Parameters.Add("@firstName", SqlDbType.VarChar).Value = firstNameTB.Text;
cmd.Parameters.Add("@lastName", SqlDbType.VarChar).Value = lastNameTB.Text;
cmd.Parameters.Add("@userName", SqlDbType.VarChar).Value = userNameTB.Text;
cmd.Parameters.Add("@emailAddress", SqlDbType.VarChar).Value = emailAddressTB.Text;
cmd.CommandType = CommandType.StoredProcedure;
}
}
GetAllRPT.DataBind();
Label ErrorMessageLabel = (Label)Master.FindControl("ErrorMessageLabel");
new myFunctions().DisplayUserMessage("success", "Administrator Updated!", ErrorMessageLabel);
AdminForm.Visible = false;
}
catch (Exception ex)
{
Label ErrorMessageLabel = (Label)Master.FindControl("ErrorMessageLabel");
new myFunctions().DisplayUserMessage("error", ex.Message, ErrorMessageLabel);
}
}
Run Code Online (Sandbox Code Playgroud)
这是我的存储过程[administratorUpdate]:
ALTER …
Run Code Online (Sandbox Code Playgroud) var loc_array = document.location.href.split('/');
var linkElement = document.getElementById("waBackButton");
var newT = document.createTextNode(loc_array[loc_array.length-2]);
var repl = newT.replace('%20',' ');
linkElement.appendChild(repl);
Run Code Online (Sandbox Code Playgroud)
任何人都知道为什么这会导致文本不显示?
我在标有"AdminGetAllRPT"的Repeater中有以下HiddenField:
<asp:Repeater ID="AdminGetAllRPT" runat="server" OnLoad="AdminGetAllRPT_Load">
<HeaderTemplate>
<table id="AdminGetAllTBL">
<tr>
<td></td>
<td>Username</td>
<td>Email Address</td>
<td>First Name</td>
<td>Last Name</td>
<td>Active?</td>
</tr>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td>
<asp:LinkButton ID="AdminEditLnk" runat="server" OnClick="AdminEdit_OnClick">Edit
<asp:HiddenField ID="editAdminEmail" runat="server" Value='<%# Eval("emailAddress") %>' />
</asp:LinkButton>
</td>
<td><%# Eval("userName") %></td>
<td><%# Eval("emailAddress") %></td>
<td><%# Eval("firstName") %></td>
<td><%# Eval("lastName") %></td>
<td><%# Eval("isActive") %></td>
</tr>
</ItemTemplate>
<AlternatingItemTemplate>
<tr class="alternateTemplate">
<td>
<asp:LinkButton ID="AdminEditLnk" runat="server" OnClick="AdminEdit_OnClick">Edit
<asp:HiddenField ID="editAdminEmail" runat="server" Value='<%# Eval("emailAddress") %>' />
</asp:LinkButton>
</td>
<td><%# Eval("userName") %></td>
<td><%# Eval("emailAddress") %></td>
<td><%# Eval("firstName") %></td>
<td><%# …
Run Code Online (Sandbox Code Playgroud) 在Visual Studio中创建MVC项目时,我将以下文件夹结构作为默认值:
content
controllers
->home
models
views
->account
->home
->->index.aspx
Run Code Online (Sandbox Code Playgroud)
我想创建一个类似的结构但在WITHIN管理文件夹,如下所示:
> admin
> ->content
> ->controllers
> ->->home
> ->->->controller
> ->models
> ->views
> ->->account
> ->->home
> ->->->index.aspx
Run Code Online (Sandbox Code Playgroud)
当我尝试链接到/ admin/home时,它说无法找到它.这种嵌套方法是否可行?
我有jquery使用ajax/json来获取元素ID,然后点击:
[System.Web.Services.WebMethod]
public static string EditPage(string nodeID)
{
DataTable dt = new DataTable();
using (SqlConnection con = new SqlConnection(Global.conString))
using (SqlCommand cmd = new SqlCommand("contentPageGetDetail", con))
{
cmd.Parameters.Add("@ID", SqlDbType.UniqueIdentifier).Value = Global.SafeSqlLiteral(nodeID, 1);
cmd.CommandType = CommandType.StoredProcedure;
cmd.ExecuteNonQuery();
using (SqlDataAdapter da = new SqlDataAdapter(cmd))
{
da.Fill(dt);
}
}
if (dt.Count > 0)
{
string pageTitle = dt.Rows[0]["Title"].toString();
string contentID = dt.Rows[0]["ContentID"].toString();
return pageTitle, contentID, nodeID;
}
else
{
return "Failed";
}
}
Run Code Online (Sandbox Code Playgroud)
当返回时,我想从存储过程返回的所有内容返回到成功部分中的jquery方法,并在文本字段中设置隐藏字段,下拉值和标题.
在jQuery中我尝试使用"pageTitle",但它未定义.我需要做什么jQuery方面来获取返回的内容并在显示表单之前填充Web窗体中的字段?
我有以下内容:
<dd>
<select id="contactLocation" name="contactLocation" size="1">
<option value="Online"<cfif attributes.contactLocation eq "Online">selected</cfif>>Online</option>
<cfoutput query="storeLocations">
<option value="#storeLocations.name#"<cfif attributes.contactLocation eq "#storeLocations.name#">selected</cfif>>#storeLocations.state# - #storeLocations.city#, #left(storeLocations.storeID, 3)#</option>
</cfoutput>
</select>
Run Code Online (Sandbox Code Playgroud)
我添加了两个顶级cfset
变量,因为我试图找出它.数据库中的字符串返回111/NAME,我想删除正斜杠和其右边的所有其他内容.
目前我添加了两个变量,它只返回前3个字符,但它只显示下拉列表中每个项目的一行.
如何删除正斜杠及其右侧的所有内容 #storeLocations.storeID#
更新:
实际上我现在每行显示3个字符,但如果只有2个或者有4个字符怎么办?我很接近我只需要最后一部分.
c# ×5
asp.net ×3
javascript ×3
ajax ×2
dom ×2
jquery ×2
.htaccess ×1
arrays ×1
asp.net-mvc ×1
ckeditor ×1
coldfusion ×1
freemarker ×1
gtfs ×1
hidden-field ×1
html ×1
repeater ×1
replace ×1
sql ×1
webmethod ×1