小编CJH*_*CJH的帖子

MigraDoc - 从十六进制设置单元格颜色

HEX在数据库("#ADD8E6")中有一个颜色代码字符串,我想用它来改变MigraDoc单元格的背景颜色.我找到了Color.Parse()功能,但它没有改变我的细胞的颜色.我不得不做以下事情:

string colourHex = (database.HexCode).Replace("#", "0x");
var colourObject = MigraDoc.DocumentObjectModel.Color.Parse(colourHex);

Cell.Shading.Color = colourObject;
Run Code Online (Sandbox Code Playgroud)

我知道这Cell.Shading.Color是正确的,因为如果我申请,Cell.Shading.Color = Colors.AliceBlue那么单元格会按预期更改颜色.我理解Color.Parse要求HEX代码开始0x而不是#.我尝试使用它#并且它失败了......至少我得到的是渲染......只是没有我的颜色.

c# colors migradoc

4
推荐指数
1
解决办法
780
查看次数

Redux:在调度内检测到状态突变

我意识到这个错误可能有一百万零一个不同的原因,但我正在努力寻找我的原因。我对 Redux 和Reducer 中的状态处理比较陌生,并且从一些在线示例中学习,得出了下面在Reducer 中调用的代码示例:

const updateTripsWhereVenueDeleted = (state, action) => {
  debugger;
  const deletedVenueId = action.venue.Id;
  const originalTrips = [...state];

  const newTrips = originalTrips.map((trip) => {
    if (trip.VenueId === deletedVenueId) {
      trip.VenueId = 0;
      trip.VenuePegId = 0;
    }
    return trip;
  });
  debugger;
  return [...newTrips];
};
Run Code Online (Sandbox Code Playgroud)

我的状态是一系列行程:

在此输入图像描述

Action包含一个“ Venue ”记录。基本上,正在传递的地点已被删除,我想更新引用已删除地点的所有行程的相关字段。

当我在Reducer中运行上面的代码时,事情似乎朝着正确的方向发展,直到浏览器崩溃并出现以下错误:

未处理的拒绝(不变违规):在调度内检测到状态突变,路径为:trips.0.VenueId。看一下处理操作 {"type":"UPDATE_TRIPS_VENUE_DELETED","venue": {.... the object} 的减速器

UPDATE_TRIPS_VENUE_DELETED是调用我上面的方法的action.type。

在某种状态或其他情况下处理(传播)数组是否存在明显的误用。我觉得这应该是一件很容易做的事情,但到目前为止我所尝试的一切都没有正常工作。

state reactjs redux

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

React-Webcam(npm包)录制音频但静音播放

我正在尝试使用npm的反应网络摄像头,以便能够录制带有音频的视频。我希望在录制时将音频静音,但在保存录音时将其包含在内。

网络摄像头设置如下:

const videoConstraints = {
  width: 640,
  height: 480,
  facingMode: "user",
};

const audioConstraints = {
  suppressLocalAudioPlayback: true,
  noiseSuppression: true,
  echoCancellation: true,
};

const ReactWebcam = () => {
  return (
    <div className="webcam" style={{ width: 640 }}>
      <Webcam
        audio={true}
        height={100 + "%"}
        width={100 + "%"}
        screenshotFormat="image/jpeg"
        videoConstraints={videoConstraints}
        audioConstraints={audioConstraints}
      />
    </div>
  );
};
Run Code Online (Sandbox Code Playgroud)

这用于单击按钮来录制和停止视频录制:

  const handleStartCaptureClick = React.useCallback(() => {
    setCapturing(true);
    mediaRecorderRef.current = new MediaRecorder(webcamElement.current.stream, {
      mimeType: "video/webm",
    });
    mediaRecorderRef.current.addEventListener(
      "dataavailable",
      handleDataAvailable
    );
    mediaRecorderRef.current.start();
  }, [webcamElement, setCapturing, mediaRecorderRef, handleDataAvailable]); …
Run Code Online (Sandbox Code Playgroud)

javascript webcam reactjs

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

通过依赖注入执行我的类函数

我一直在努力将我的紧耦合方法转换成可以进行单元测试的方法,并在这里寻求一些建议.由于一些建议,我现在让我的方法通过它的单元测试 - 但是我现在发现我无法从我的应用程序中调用该方法.我曾经从控制器访问我的GetAllProductsFromCSV()方法,具体如下:

    public ActionResult Index()
    {
        var products = new ProductsCSV();
        List<ProductItem> allProducts = products.GetAllProductsFromCSV();

        foreach (var product in allProducts)
        {
            if (string.IsNullOrEmpty(product.ImagePath))
            {
                product.ImagePath = "blank.jpg";
            }
        }

        return View(allProducts);
    }
Run Code Online (Sandbox Code Playgroud)

方法如下:

public class ProductsCSV
{
    public List<ProductItem> GetAllProductsFromCSV()
    {
        var productFilePath = HttpContext.Current.Server.MapPath(@"~/CSV/products.csv");

        String[] csvData = File.ReadAllLines(productFilePath);

        List<ProductItem> result = new List<ProductItem>();

        foreach (string csvrow in csvData)
        {
            var fields = csvrow.Split(',');
            ProductItem prod = new ProductItem()
            {
                ID = Convert.ToInt32(fields[0]),
                Description = fields[1],
                Item = fields[2][0], …
Run Code Online (Sandbox Code Playgroud)

c# asp.net-mvc unit-testing dependency-injection

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

Quill JS - 检查表单提交上的文本是否更改

我正在使用 Quill(富文本),需要找到一种方法来检查页面提交表单时文本是否已更改。我对使用 Quill 还很陌生,并且一直在关注这里的事件。每次文本更改时(显然)都会使用文本更改触发器,但我在页面上还有其他表单输入控件,这些控件在表单提交时进行检查以查看它们是否已更改...我需要我的 RTF 框执行相同的操作。

编辑

我已经成功使用下面的示例来触发事件。我现在的问题是,即使编辑器在页面加载时预先填充,该事件似乎也会触发。仅当用户更改了文本时,我才不想确认这些初始加载。

javascript jquery textchanged quill

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

JQuery Ajax Post - 操作返回部分视图,但未成功或显示

我正在调用控制器操作,如下所示:

$j.ajax({
    url: url,
    type: "post",
    data: JSON.stringify(commentParam),
    dataType: 'json',
    contentType: "application/json; charset=utf-8",
    success: function (data, status, jqxhr) {
        $j('#' + commentsCtrlId + ' ul').prepend(data);
        commentField.val('');
    },
    failure: function () {
        alert("Error adding comment");
    }
});
Run Code Online (Sandbox Code Playgroud)

操作如下所示:

    [HttpPost]
    public ActionResult Create(string commentBody, int parentObjectId, string parentObjectType, int actionId = 0)
    {
        try
        {

        // code to check security and pass info to the database. A comment model object is then passed back to the partial view

            return PartialView("_Comment", comment);
        } …
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc post asp.net-ajax

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

Razor Pages .Net Core - 将 ID 从表行传递到模式弹出窗口

我是 Razor 页面的新手,所以请耐心等待。我的页面上有一个表格,填充如下:

在此输入图像描述

单击最后一列将打开一个模式弹出窗口:

在此输入图像描述

其中有一个用于删除所选行的按钮。然而,我似乎无法弄清楚如何将所选行的 ID 从表传递到DeleteSeasonTrip()javascript 函数,在该函数中我发布 Ajax 调用来删除所选行。

我认为我也许能够在行单击上填充隐藏字段并从那里获取它,但想知道是否有更好的解决方案。

modal-dialog asp.net-core razor-pages

0
推荐指数
1
解决办法
999
查看次数