小编afa*_*f12的帖子

如何用sed替换包含斜杠的字符串?

我有一个Visual Studio项目,它是在本地开发的.必须将代码文件部署到远程服务器.唯一的问题是URLsthey包含硬编码.

项目包含URL,例如?page = one.要使链接在服务器上有效,它必须是/ page/one.

我决定在部署之前用sed替换我的代码文件中的所有URL,但是我坚持使用斜杠.

我知道这不是一个漂亮的解决方案,但它很简单会省去很多时间.我必须替换的字符串总数小于10.必须检查的文件总数约为30.

描述我的情况的示例如下:

我正在使用的命令:

sed -f replace.txt < a.txt > b.txt
Run Code Online (Sandbox Code Playgroud)

replace.txt包含所有字符串:

s/?page=one&/pageone/g
s/?page=two&/pagetwo/g
s/?page=three&/pagethree/g
Run Code Online (Sandbox Code Playgroud)

A.TXT:

?page=one&
?page=two&
?page=three&
Run Code Online (Sandbox Code Playgroud)

运行sed命令后b.txt的内容:

pageone
pagetwo
pagethree
Run Code Online (Sandbox Code Playgroud)

我希望b.txt包含:

/page/one
/page/two
/page/three
Run Code Online (Sandbox Code Playgroud)

sed

132
推荐指数
5
解决办法
16万
查看次数

类型是在未引用的程序集中定义的,如何查找原因?

我知道错误信息是常见的,关于这个错误有很多问题,但到目前为止还没有解决方案帮助我,所以我决定提出这个问题.与大多数类似问题的区别在于我使用App_Code目录.

错误信息:

CS0012: The type 'Project.Rights.OperationsProvider' is defined in an
assembly that is not referenced. You must add a reference to assembly
'Project.Rights, version=1.0.0.0, Culture=neutral, PublicKeyToken=null'.
Run Code Online (Sandbox Code Playgroud)

源文件:

c:\inetpub\wwwroot\Test\Website\App_Code\Company\Project\BusinessLogic\Manager.cs
Run Code Online (Sandbox Code Playgroud)

以下的建议在这里这里,我已经删除了Project.Rights.dll的所有实例中C:\ WINDOWS\Microsoft.NET /*.*根据这个,我检查,如果有问题的.cs文件具有生成操作设置为"编译" .他们是这样.我还仔细检查了包含"Project.Rights.OperationsProvider"类型的.cs文件是否已部署到App_Code目录.

出于某种原因,应用程序不在App_Code目录中查找类型.由于我删除了Project.Rights.dll的所有实例(我知道),我不知道错误消息提到哪个程序集.

.net c# asp.net asp.net-4.0

66
推荐指数
4
解决办法
18万
查看次数

javascript:这是一个有条件的任务吗?

来自Google Analytics分析跟踪代码:

var _gaq = _gaq || [];
Run Code Online (Sandbox Code Playgroud)

这是如何运作的?

它是条件变量赋值吗?这跟说:

if( !(_gaq) ) {_gaq = []; }
Run Code Online (Sandbox Code Playgroud)

javascript

15
推荐指数
2
解决办法
1万
查看次数

为什么没有加载Custom SecurityPermission?

我创建了一个CodeAccessSecurityAttribute实现,使用堆栈信息来查找目标类名,但是在某些类中没有创建PrincipalPermition,系统使用预览一个.我错过了什么?

[ComVisible(true)]
[AttributeUsageAttribute(AttributeTargets.Constructor | AttributeTargets.Method, AllowMultiple = true, Inherited = false)] 
public sealed class MyPrincipalPermissionAttribute : CodeAccessSecurityAttribute
{
    public MyPrincipalPermissionAttribute(SecurityAction action) : base(action) { }

    public override IPermission CreatePermission()
    {
        if (Unrestricted)
            return new PrincipalPermission(PermissionState.Unrestricted);
        var stackTrace = new StackTrace();

        var fullnameArray = new List<String>();
        foreach (var frame in stackTrace.GetFrames())
        {
            try
            {
                var method = frame.GetMethod();
                if (method != null && method.ReflectedType.IsSubclassOf(typeof (BaseClass)))
                    fullnameArray.Add(method.ReflectedType.FullName);
            } catch {}
        }

        if (fullnameArray.Count() > 0)
            return new PrincipalPermission(null, fullnameArray[0], true);

        return new …
Run Code Online (Sandbox Code Playgroud)

.net c# security reflection

7
推荐指数
1
解决办法
928
查看次数

如何在Ionic的导航栏下面制作一个容器填满整个屏幕?

我想要一个iframe来填充导航栏下方的所有空间.我看到Ionic正在生成内联CSS并向html,body标签添加类,它还创建了div包装器.我不知道达到我想要的目的是什么.我需要为此使用一些预制的CSS类,还是自己编写?如果是这样,我该怎么做,不打破布局.

问题不是关于iframe,而是关于让容器填满导航栏下面的整个空间.

目前iframe占据全宽但只有150像素的高度,因为父容器的高度为150px.

我的应用程序基于(github的标签应用程序).

我的代码如下:

index.html的:

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <meta name="viewport" content="initial-scale=1, maximum-scale=1, user-scalable=no, width=device-width">
    <title></title>
  </head>
  <body ng-app="starter">
    <ion-nav-bar class="bar-stable">
      <ion-nav-back-button>
      </ion-nav-back-button>
    </ion-nav-bar>
    <ion-nav-view style="width: 100%; min-height: 100%; height: 100%;">
        <!-- tab-map is shown here: -->
    </ion-nav-view>
  </body>
</html>
Run Code Online (Sandbox Code Playgroud)

制表map.html:

<ion-view view-title="Map" style="width: 100%; min-height: 100%">
  <div style="width: 100%; min-height: 100%">
    <ion-content class="padding" >
      <iframe src="../index.html" style="width: 100%; min-height: 100%">    
      </iframe>
    </ion-content>
  </div> 
</ion-view>
Run Code Online (Sandbox Code Playgroud)

目前它看起来像这样:

目前它看起来像这样

html cordova ionic-framework ionic

7
推荐指数
2
解决办法
2万
查看次数

是否可以对带有reduce的列表进行排序?

这是我做的练习。我当然可以通过使用sorted()或Python标准库中的其他方式对列表进行排序,但是在这种情况下我不能。我认为我只应该使用reduce()

from functools import reduce
arr = [17, 2, 3, 6, 1, 3, 1, 9, 5, 3]
sorted_arr = reduce(lambda a,b : (b,a) if a > b else (a,b), arr)
Run Code Online (Sandbox Code Playgroud)

我得到的错误:

TypeError: '>' not supported between instances of 'tuple' and 'int'
Run Code Online (Sandbox Code Playgroud)

这是可以预期的,因为我的reduce函数将一个元组插入到int数组中,而不是2个单独的整数。然后将元组与一个整数进行比较...

有没有一种方法可以将2个数字插入列表,然后仅对列表中的第二个数字运行该函数?还是一种使用reduce()交换数字的方法?

文档对reduce函数几乎没有说什么,所以我现在没有想法。 https://docs.python.org/3/library/functools.html?highlight=reduce#functools.reduce

python sorting python-3.x

7
推荐指数
1
解决办法
319
查看次数

无法找到ObjectDataSource的TypeName属性中指定的类型

由于要求,所有网站.cs文件都存储在App_Code目录中并编译成App_Code.dll.当我尝试访问网站的某个特定页面时出错.

Description: An unhandled exception occurred during the execution
of the current web request. Please review the stack trace for more
information about the error and where it originated in the code. 

Exception Details: System.InvalidOperationException: The type
specified in the TypeName property of ObjectDataSource
'DataSourceSubmissionList' could not be found.
Run Code Online (Sandbox Code Playgroud)

我有一个由ObjectDataSource填充的Gridview控件.代码如下:

/layouts/Portal/Company/Application/code.ascx:

<%@ Control Language="c#" AutoEventWireup="true"
CodeFile="~/layouts/Portal/Company/Application/code.ascx.cs"
Inherits="Project.WebUserControls.myapplications.sublayout" %>

<dx:ASPxGridView ID="ASPxGridView1"
  runat="server"
  DataSourceID="DataSourceSubmissionList"
  KeyFieldName="SubmissionId"
</dx:ASPxGridView>

<asp:ObjectDataSource
  ID="DataSourceSubmissionList"
  runat="server"
  TypeName="Project.WebUserControls.myapplications.sublayout">
</asp:ObjectDataSource>
Run Code Online (Sandbox Code Playgroud)

/layouts/Portal/Company/Application/code.ascx.cs:

namespace Project.WebUserControls.myapplications
{  
    public partial class sublayout: System.Web.UI.UserControl 
    {
    } …
Run Code Online (Sandbox Code Playgroud)

.net c# asp.net

6
推荐指数
1
解决办法
1万
查看次数

如何在不同的.aspx文件中重用相同的函数或制作函数库?

目前,我在asp.NET中的网站项目包含5个.aspx文件.我在每个.aspx文件中定义了相同的函数.我想要的是一种创建自己的函数库/文件的方法,我可以将其包含在我的.aspx脚本中.

在搜索解决方案时,我只发现了动态包含ASP.NET中的文件,用于在.aspx中动态包含HTML和客户端脚本.所以这不是我需要的.

c# asp.net

5
推荐指数
1
解决办法
3894
查看次数

JavaScript字符串连接速度

有人可以向我解释这个:

http://jsperf.com/string-concatenation-1/2

如果你很懒,我测试了A)vs B):

一个)

var innerHTML = "";

items.forEach(function(item) {
    innerHTML += item;
});
Run Code Online (Sandbox Code Playgroud)

B)

var innerHTML = items.join("");
Run Code Online (Sandbox Code Playgroud)

其中items对两个测试是串的相同的500元件阵列,每个串被随机和字符长度100和400之间.

A)最终快10倍.这怎么可能 - 我一直认为连接使用join("")是一种优化技巧.我的测试有什么缺陷吗?

javascript string

5
推荐指数
1
解决办法
559
查看次数

如何获取详细的ExecuteNonQuery错误消息?

我正在做我在ASP.NET的第一次任务.这是一个网站,我在Visual Studio工作.

我无法弄清楚的是如何在ExecuteNonQuery失败时显示详细的错误消息.

我正在使用OleDb连接,所以我的猜测是我必须使用OleDbException或OleDbError来获取详细的错误消息.

基本上,问题是 - 如何更新此代码以获得IF ExecuteNonQuery失败的详细错误消息?

string v1 = Request["v1"];                                    
string v2 = Request["v2"];
sql2 = "INSERT INTO table(one, two) VALUES('" + v1 + "', '" + v2  + "')";

System.Data.OleDb.OleDbConnection con2 = new System.Data.OleDb.OleDbConnection();
con2.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data          Source=C:/Users/BB/Desktop/Database.mdb";
con2.Open();
OleDbCommand command = new OleDbCommand(sql2, con2);

try
{
    command.ExecuteNonQuery();
}
catch
{
    Response.Write("Error!");
    // detailed error message here?
}
Run Code Online (Sandbox Code Playgroud)

c# asp.net ms-access visual-studio

3
推荐指数
1
解决办法
6604
查看次数